volumes: nextcloud: db_data: npm_data: npm_letsencrypt: 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=sqlroot - MYSQL_PASSWORD=nc_pass - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud # --- 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=nc_pass - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_HOST=db - REDIS_HOST=redis - NEXTCLOUD_UPDATE=1 # Hier deine tatsächliche LXC-IP eintragen: - NEXTCLOUD_TRUSTED_DOMAINS=10.174.243.69 localhost - TRUSTED_PROXIES=nginx-proxy-manager # Auf http lassen für lokale Tests ohne SSL-Zertifikat: - OVERWRITEPROTOCOL=http - NC_serverid=meine-tolle-id-123 - NC_default_phone_region=DE - PHP_MEMORY_LIMIT=512M - PHP_UPLOAD_LIMIT=10G # --- HINTERGRUND-AUFGABEN (CRON) --- cron: image: nextcloud restart: always volumes: - ./data_nextcloud:/var/www/html entrypoint: /cron.sh depends_on: - db - redis # --- NGINX PROXY MANAGER (GUI) --- 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