Nextcloud jest darmową aplikacją pozwalającą na stworzenie prywatnej „chmury” na dane, którą można zainstalować na własnym serwerze. Poniższy opis zakłada uruchomienie Nextcloud w 3 kontenerach – kontener dla Nextcloud, kontener dla bazy danych oraz kontener na proxy obsługujące SSL.
W jaki sposób uruchomić Nextcloud na Dockerze?
Poniżej zamieszczam plik docker-compose.yml który należy uzupełnić o własną konfigurację zmiennych.
version: '3'
services:
proxy:
image: jwilder/nginx-proxy
container_name: nextcloud-proxy
hostname: nextcloud-proxy
networks:
- nextcloud-network
ports:
- "443:443"
volumes:
- /volumes/nextcloud-proxy/certs:/etc/nginx/certs
- /volumes/nextcloud-proxy/conf.d/upload.conf:/etc/nginx/conf.d/upload.conf
- /var/run/docker.sock:/tmp/docker.sock:ro
mariadb:
image: mariadb
container_name: nextcloud-mariadb
hostname: nextcloud-mariadb
networks:
- nextcloud-network
volumes:
- /volumes/nextcloud-mariadb:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
environment:
- MYSQL_ROOT_PASSWORD=
- MYSQL_PASSWORD=
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
restart: unless-stopped
server:
image: nextcloud:latest
container_name: nextcloud-server
hostname: nextcloud-server
networks:
- nextcloud-network
depends_on:
- mariadb
- proxy
volumes:
- /volumes/nextcloud-server/html:/var/www/html
- /volumes/nextcloud-server/config:/var/www/html/config
- /volumes/nextcloud-server/custom_apps:/var/www/html/custom_apps
- /volumes/nextcloud-server/data:/var/www/html/data
- /volumes/nextcloud-server/themes:/var/www/html/themes
- /etc/localtime:/etc/localtime:ro
environment:
- VIRTUAL_HOST=
restart: unless-stopped
networks:
nextcloud-network:
W powyższym skrypcie należy uzupełnić parametry:
- MYSQL_ROOT_PASSWORD – hasło użytkownika root bazy MySQL,
- MYSQL_PASSWORD – hasło użytkownika dla Nextcloud w bazie MySQL,
- VIRTUAL_HOST – adres pod którym będzie widoczny Nextcloud.
Dodatkowo – należy utworzyć katalogi /volumes/nextcloud-proxy/certs/ oraz /volumes/nextcloud-proxy/conf.d/ w których umieszczamy pliki:
- /volumes/nextcloud-proxy/certs/domena.pl.crt – certyfikat dla domeny na której będzie działał Nextcloud,
- /volumes/nextcloud-proxy/certs/domena.pl.key – klucz prywatny do certyfikatu,
- /volumes/nextcloud-proxy/conf.d/upload.conf – plik tekstowy o treści „client_max_body_size 1g;” – pozwoli na zwiększenie limitu pojedynczego pliku który może zostać wysłany na Nextcloud.
Na koniec, uruchamiamy wszystko poleceniem:
docker-compose up -d
Po odczekaniu aż wszystkie kontenery się uruchomią – możemy przejść do skonfigurowania instalacji Nextcloud i pierwszego logowania.