티스토리 뷰
Docker를 이용한 Nextcloud 실행
Nextcloud
Nextcloud란?
Nextcloud는 파일 호스팅 서비스를 만들고 사용하기 위한 클라이언트-서버 소프트웨어로, Dropbox와 기능적으로 유사합니다. 하지만 Dropbox와는 달리 Nextcloud는 사내 구축형 파일 스토리지 호스팅을 제공하지 않습니다.
Nextcloud를 통해 학교, Dropbox 또는 집에 있는 NAS에서 FTP 드라이브의 기존 데이터에 액세스하고 동기화하고 공유할 수 있습니다.
Nextcloud는 무료 오픈 소스입니다.
wonderfall/nextcloud
Nextcloud의 실행을 위해 DockerHub의 wonderfall/nextcloud
이미지를 사용합니다.
DockerHub wonderfall/nextcloud
: https://hub.docker.com/r/wonderfall/nextcloud/
이 이미지는 공식 이미지가 아닌, 개인이 만든 이미지이기 때문에 별도의 지원은 없습니다.
특징:
Based on Alpine Linux.
Bundled with nginx and PHP 7.x (wonderfall/nginx-php image).
Automatic installation using environment variables.
Package integrity (SHA512) and authenticity (PGP) checked during building process.
Data and apps persistence.
OPCache (opcocde), APCu (local) installed and configured.
system cron task running.
MySQL, PostgreSQL (server not built-in) and sqlite3 support.
Redis, FTP, SMB, LDAP, IMAP support.
GNU Libiconv for php iconv extension (avoiding errors with some apps).
No root processes. Never.
Environment variables provided (see below).
태그:
latest : latest stable version.
15.0 : latest 15.0.x version (stable)
13.0 : latest 13.0.x version (oldstable)
daily : latest code (daily build).
Nextcloud 실행
실행 전 준비사항
이 단계는 최초 한 번만 실행해주면 됩니다.
# Docker 이미지 다운로드
docker pull wonderfall/nextcloud:15 && docker pull mariadb:10
# 볼륨 저장소 생성
sudo mkdir -p /docker/nextcloud/db
sudo mkdir -p /docker/nextcloud/data
sudo mkdir -p /docker/nextcloud/config
sudo mkdir -p /docker/nextcloud/apps
sudo mkdir -p /docker/nextcloud/themes
sudo chown -R hyper:hyper /docker/nextcloud
이제 Docker 또는 Docker Compose로 Nextcloud를 실행합니다.
Nextcloud는 trusted_domains
에 정의되지 않은 주소로의 접근을 허용하지 않는다. IP주소로 접근하고 싶을 경우, trusted_domains
에 해당 IP주소를 추가해야 합니다. nextcloud 컨테이너의 DOMAIN
환경변수를 설정하면 해당 값이 자동으로 trusted_domains
에 설정됩니다. 여기에서는 localhost로 설정합니다.
Docker로 Nextcloud 실행
docker 커맨드로 Nextcloud를 실행합니다.
/data
디렉터리를 볼륨으로 설정했기 때문에 컨테이너를 제거하고 다시 실행해도 데이터가 유지됩니다.
포트는 8888
번을 사용합니다.
# mariadb 실행
docker run -d --name db_nextcloud \
-v /docker/nextcloud/db:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=roothyper \
-e MYSQL_DATABASE=nextcloud \
-e MYSQL_USER=nextcloud \
-e MYSQL_PASSWORD=hyper \
mariadb:10
# nextcloud 실행
docker run -d --name nextcloud \
--link db_nextcloud:db_nextcloud \
-v /docker/nextcloud/data:/data \
-v /docker/nextcloud/config:/config \
-v /docker/nextcloud/apps:/apps2 \
-v /docker/nextcloud/themes:/nextcloud/themes \
-e UID=1000 -e GID=1000 \
-e UPLOAD_MAX_SIZE=10G \
-e APC_SHM_SIZE=128M \
-e OPCACHE_MEM_SIZE=128 \
-e CRON_PERIOD=15m \
-e TZ=Etc/UTC \
-e ADMIN_USER=hyper \
-e ADMIN_PASSWORD=hyper \
-e DOMAIN=localhost \
-e DB_TYPE=mysql \
-e DB_NAME=nextcloud \
-e DB_USER=nextcloud \
-e DB_PASSWORD=hyper \
-e DB_HOST=db_nextcloud \
-p 8888:8888 \
wonderfall/nextcloud:15
Docker Compose로 Nextcloud 실행
Nextcloud를 실행하기 위한 docker-compose.yaml
파일을 작성합니다.
/data
디렉터리를 볼륨으로 설정했기 때문에 컨테이너를 제거하고 다시 실행해도 데이터가 유지됩니다.
# docker-compose.yaml 파일 작성
cd /docker/nextcloud
vi docker-compose.yaml
docker-compose.yaml
파일의 내용은 다음과 같습니다.
version: '2'
networks:
nextcloud_network:
external: false
services:
nextcloud:
image: wonderfall/nextcloud:15
container_name: nextcloud
depends_on:
- db_nextcloud # If using MySQL
# - solr # If using Nextant
# - redis # If using Redis
environment:
- UID=1000
- GID=1000
- UPLOAD_MAX_SIZE=10G
- APC_SHM_SIZE=128M
- OPCACHE_MEM_SIZE=128
- CRON_PERIOD=15m
- TZ=Asia/Seoul
- ADMIN_USER=hyper # Don't set to configure through browser
- ADMIN_PASSWORD=hyper # Don't set to configure through browser
- DOMAIN=localhost
- DB_TYPE=mysql
- DB_NAME=nextcloud
- DB_USER=nextcloud
- DB_PASSWORD=hyper
- DB_HOST=db_nextcloud
ports:
- "8888:8888"
volumes:
- /docker/nextcloud/data:/data
- /docker/nextcloud/config:/config
- /docker/nextcloud/apps:/apps2
- /docker/nextcloud/themes:/nextcloud/themes
networks:
- nextcloud_network
# If using MySQL
db_nextcloud:
image: mariadb:10
container_name: db_nextcloud
volumes:
- /docker/nextcloud/db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=hyper
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=hyper
networks:
- nextcloud_network
# # If using Nextant
# solr:
# image: solr:6-alpine
# container_name: solr
# volumes:
# - /docker/nextcloud/solr:/opt/solr/server/solr/mycores
# entrypoint:
# - docker-entrypoint.sh
# - solr-precreate
# - nextant
# networks:
# - nextcloud_network
# # If using Redis
# redis:
# image: redis:alpine
# container_name: redis
# volumes:
# - /docker/nextcloud/redis:/data
# networks:
# - nextcloud_network
이제 Docker Compose를 이용해 mariadb와 nextcloud를 실행합니다.
# mariadb 및 nextcloud 실행
docker-compose up -d
Nextcloud 사용
Nextcloud 실행이 완료되면 Nextcloud 웹 페이지에 접속할 수 있습니다.
http://<자신이 설정한 DOMAIN>:<실행 PORT>
로 접속합니다. 여기에서는 http://localhost:8888
이 됩니다.
다음과 같은 페이지가 출력되면, 설정한 ADMIN
계정으로 로그인합니다. 여기에서는 hyper
:hyper
입니다.
ADMIN
계정으로 로그인하면 다음과 같이 Nextcloud를 사용할 수 있습니다.
ADMIN
계정에서는 사용자를 추가할 수 있습니다.
Nextcloud 설정 변경
Docker 컨테이너로 Nextcloud를 실행하고 난 뒤에, 설정을 변경하고 싶은 경우에는 설정 파일을 수정해주면 됩니다.
Docker 컨테이너 실행 시 /config
디렉터리를 볼륨으로 설정했기 때문에 로컬 환경에서 설정을 변경할 수 있습니다.
# Nextcloud 설정 변경
vi /docker/nextcloud/config/config.php
참고 사이트
'Development > 기타' 카테고리의 다른 글
[OAuth2] oryd/oathkeeper에 CORS 적용하기 (0) | 2020.11.12 |
---|---|
[OAuth2] oryd/hydra CORS 적용하기 (0) | 2020.11.12 |
[기타] 전자정부 표준프레임워크: 제1강_표준프레임워크 개요 (0) | 2017.12.28 |
- Total
- Today
- Yesterday
- Private Data
- ubuntu
- 코딩테스트
- ambrosus
- 하이퍼레저 페브릭
- 문제풀이
- Hyperledger Fabric v1.2
- 알고리즘
- 블록체인
- 블록 체인
- javascript
- 빅데이터 교육
- 빅데이터
- docker
- 빅데이터 기초
- 하이퍼레저 인디
- 코테
- Hyperledger Fabric v1.1
- DOCs
- Hyperledger Indy
- 빅데이터 강의
- 하이퍼레저 패브릭
- Hyperledger Fabric
- 직딩잇템
- codility
- Blockchain
- 암브로셔스
- 코딜리티
- 기초 of 기초 데이터 개념
- 어서와 데이터는 처음이지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |