78 lines
1.7 KiB
YAML
78 lines
1.7 KiB
YAML
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
|