server:docker:nextcloud
Inhaltsverzeichnis
Nextcloud
https://www.ionos.de/digitalguide/server/konfiguration/nextcloud-installation-mit-docker/
- Nextcloud benötigt zur Funktion eine Datenbank und einen Webserver
- Let's encrypt benötigt zur Funktion einen Webserver
Daher benötigen wir die Dienste in dieser Reihenfolge:
- Webserver - nginx-Reverse Proxy
- SSL - Let's encrypt
- Datenbank - MariaDB
- App - Nextcloud
Projektstruktur
su - docker mkdir -p ~/projects/nextcloud/ cd ~/projects/nextcloud/
Umgebungsvariablen
nano .env
- .env
# MariaDB MYSQL_ROOT_PASSWORD=<MariaDB Root Passwort> MYSQL_DATABASE=nextcloud MYSQL_USER=nc-dbuser MYSQL_PASSWORD=<Nextcloud DB-User Passwort> # Nextcloud VIRTUAL_HOST=<your.domain></your.domain> LETSENCRYPT_HOST=<your.domain></your.domain> LETSENCRYPT_EMAIL=<your@email></your@email>
Docker-Compose
nano docker-compose.yaml
- docker-compose.yml
networks: network: services: proxy: image: jwilder/nginx-proxy:alpine labels: - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy=true" container_name: nextcloud-proxy networks: - network ports: - 80:80 - 443:443 volumes: - ./proxy/conf.d:/etc/nginx/conf.d:rw - ./proxy/vhost.d:/etc/nginx/vhost.d:rw - ./proxy/html:/usr/share/nginx/html:rw - ./proxy/certs:/etc/nginx/certs:ro - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/tmp/docker.sock:ro restart: always letsencrypt: image: jrcs/letsencrypt-nginx-proxy-companion container_name: nextcloud-letsencrypt depends_on: - proxy networks: - network volumes: - ./proxy/certs:/etc/nginx/certs:rw - ./proxy/vhost.d:/etc/nginx/vhost.d:rw - ./proxy/html:/usr/share/nginx/html:rw - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/var/run/docker.sock:ro restart: always mariadb: image: mariadb:10.11 container_name: nextcloud-mariadb environment: - MYSQL_ROOT_PASSWORD - MYSQL_DATABASE - MYSQL_USER - MYSQL_PASSWORD networks: - network ports: - 3306:3306 restart: always volumes: - mariadb:/var/lib/mysql - /etc/localtime:/etc/localtime:ro app: image: nextcloud:latest container_name: nextcloud-app networks: - network depends_on: - letsencrypt - proxy - mariadb volumes: - app:/var/www/html - ./app/config:/var/www/html/config - ./app/custom_apps:/var/www/html/custom_apps - ./app/data:/var/www/html/data - ./app/themes:/var/www/html/themes - /etc/localtime:/etc/localtime:ro environment: - VIRTUAL_HOST - LETSENCRYPT_HOST - LETSENCRYPT_EMAIL restart: always volumes: app: mariadb:
docker compose up -d
server/docker/nextcloud.txt · Zuletzt geändert: 2025/02/27 13:04 von hse