Files
docker_nextcloud/compose.yml
2026-03-01 11:04:57 +00:00

83 lines
2.2 KiB
YAML

services:
# --- DATENBANK ---
db:
image: mariadb:10.6
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- ./data_db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${SQL_ROOT_PASSWORD}
- MYSQL_PASSWORD=${SQL_PASSWORD}
- MYSQL_DATABASE=${SQL_DATABASE}
- MYSQL_USER=${SQL_USER}
# --- CACHE & LOCKING ---
redis:
image: redis:alpine
restart: always
# --- NEXTCLOUD APP ---
app:
image: nextcloud
restart: always
ports:
- 8080:80
depends_on:
- db
- redis
volumes:
- ./data_nextcloud:/var/www/html
environment:
- MYSQL_PASSWORD=${SQL_PASSWORD}
- MYSQL_DATABASE=${SQL_DATABASE}
- MYSQL_USER=${SQL_USER}
- MYSQL_HOST=db
- REDIS_HOST=redis
- NEXTCLOUD_UPDATE=1
# Nutzt Variablen aus der .env
- NEXTCLOUD_TRUSTED_DOMAINS=localhost ${NEXTCLOUD_IP}
- TRUSTED_PROXIES=${TRUSTED_PROXIES_RANGE_1} ${TRUSTED_PROXIES_RANGE_2}
- OVERWRITEPROTOCOL=${OVERWRITEPROTOCOL}
- NC_serverid=${NC_SERVERID}
- NC_default_phone_region=${NC_DEFAULT_PHONE_REGION}
- PHP_MEMORY_LIMIT=512M
- PHP_UPLOAD_LIMIT=10G
- NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER}
- NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD}
- NEXTCLOUD_DATA_DIR=/var/www/html/data
# E-Mail (SMTP) Konfiguration
- MAIL_FROM_ADDRESS=${MAIL_FROM_ADDRESS}
- MAIL_DOMAIN=${MAIL_DOMAIN}
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_NAME=${SMTP_NAME}
- SMTP_PASSWORD=${SMTP_PASSWORD}
- SMTP_SECURE=${SMTP_SECURE}
- SMTP_AUTHTYPE=${SMTP_AUTHTYPE}
# --- HINTERGRUND-AUFGABEN (CRON) ---
cron:
image: nextcloud
restart: always
volumes:
- ./data_nextcloud:/var/www/html
entrypoint: /cron.sh
depends_on:
- db
- redis
# --- NGINX PROXY MANAGER ---
nginx-proxy-manager:
image: 'jc21/nginx-proxy-manager:latest'
restart: always
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data_npm_data:/data
- ./data_npm_letsencrypt:/etc/letsencrypt
depends_on:
- app