티스토리 뷰

DevOps

NextCloud docker로 구성

김한성 2021. 2. 2. 10:22

□ NextCloud

NextCloud란 파일관리 서비스를 사용자의 컴퓨터나 모바일등에 설치해서 사용할 수 있게 해주는 클라우드 파일서버용 오픈소스 소프트웨어 입니다. 실질적으로 NBP Object Storage에 연결해서 사용하려고 구성합니다. source level로 설치하는것이 아닌 docker container 기반으로 구성하며, DB도 container 로 올립니다. 앞에 traefik(Reverse Proxy)가 있어 label를 추가하여 구성합니다.

 

□ DB 구성

NextCloud는 내장 sqllite db를 default로 하고있지만 성능 문제로 인해 새로 DB를 구성합니다. mysql 3306포트로 --net 옵션에 network는 추후에 NextCloud Container에도 동일한 network를 사용합니다.

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=hskim123 --name nextcloud-mysql --net=hskim-cicd-net -v /mnt/nas01/hskim-cicd/docker/volumes/nextcloud-mysql:/var/lib/mysql mysql:5.7.30 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
  • database 생성

1. 아래와 같이 정상적으로 container가 올라가면 database를 만들어줍니다.

2. container에 접속해서 database 생성

docker exec -it b724d9508234 bash

mysql -u root -p

```
CREATE DATABASE datadb default CHARACTER SET UTF8;
```

```
$ use datadb

□ NextCloud install

위에 DB Container를 hskim-cicd-net network로 잡았으므로 NextCloud도 똑같은 network를 사용하며 link는 DB Container 이름으로 걸어줍니다. 또한 traefik label port와 hostname를 지정해줍니다. 이미지는 NextCloud latest를 사용하였습니다.

docker run \
  --detach \
  --name nextcloud \
  --network hskim-cicd-net \
  --publish 8080:80 \
  --restart always \
  --link nextcloud-mysql \
  --mount type=volume,src=nextcloud,dst=/var/www/html \
  --label traefik.port=80 \
  --label traefik.frontend.rule=Host:nextcloud.hskim.io \
  nextcloud

docker inspect 명령어로 link와 network가 잘 들어갔는지 확인합니다.

docker inspect nextcloud

"Networks": {
                "hskim-cicd-net": {
                    "IPAMConfig": null,
                    "Links": [
                        "nextcloud-mysql"
                    ],

NextCloud는 내장 db SQLite를 사용하고 있어 아래와 같이 성능경고가 나옵니다. 직전에 만들어놓았던 mysql 정보를 입력해줍니다.

 

□ NextCloud Login Loop

 

현재 Login을 할때 계속 Loop현상이 일어나는 버그 및 이슈가 있습니다. 로그인을 누르게 되면 계속 로그인 중으로만 뜨고 화면이 넘어가지 않는 현상인데 traefik reverse proxy가 앞에 있어 신뢰할수있는 프록시 연결을 해줘야 합니다.

 

참고한 문서

Overwrite parameters

https://docs.nextcloud.com/server/15/admin_manual/configuration_server/reverse_proxy_configuration.html

따라서 config.php파일을 아래처럼 추가해줍니다. 추가해주고 docker restart 하면 정상적으로 로그인이 잘 됩니다.

 

□ NextCloud External storage support

 

NextCloud에서 외부 storage를 연결할 수 있습니다. NBP 기준 아래와 같이 정보를 입력하면 연결이 가능합니다. 다만 External storage support는 default가 비활성화 되어있으므로 설정 -> 비활성화된 앱에서 사용함을 눌러줍니다.

 

 

 

'DevOps' 카테고리의 다른 글

Cloud Native Infra / MSA / Kubernetes  (0) 2021.03.25
Superset / Chart  (0) 2021.03.15
[GCP] K8S kubespary 구성  (1) 2020.10.31
[GCP] 메타데이터 / SSH 접속  (0) 2020.10.31
[NBP] K8S Dashboard(ingress) 구성  (0) 2020.10.30
댓글
«   2025/06   »
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
29 30