티스토리 뷰
□ 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
따라서 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 |