2024-12-30 03:03:02 +01:00

128 lines
3.0 KiB
YAML

services:
mariadb:
container_name: mariadb
restart: unless-stopped
image: ghcr.io/polarix-containers/mariadb:11.4-alpine
volumes:
- "./mariadb:/var/lib/mysql:Z"
networks:
- mariadb
environment:
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
- MARIADB_DATABASE=${MARIADB_DATABASE}
- MARIADB_USER=${MARIADB_USER}
- MARIADB_PASSWORD=${MARIADB_PASSWORD}
user: "3003:3003"
read_only: true
tmpfs:
- /var/tmp:mode=0770,uid=3003,gid=3003,noexec,nosuid,nodev
- /run/mariadb:size=50M,mode=0770,uid=3003,gid=3003,noexec,nosuid,nodev
security_opt:
- "no-new-privileges=true"
cap_drop:
- ALL
valkey:
container_name: valkey
image: ghcr.io/polarix-containers/valkey:8
restart: unless-stopped
volumes:
- ./valkey:/data:Z
networks:
- valkey
user: "3009:3009"
read_only: true
security_opt:
- "no-new-privileges=true"
cap_drop:
- ALL
nextcloud:
container_name: nextcloud
image: ghcr.io/polarix-containers/nextcloud:29
restart: unless-stopped
volumes:
- ./nextcloud:/var/www/html:z
networks:
- mariadb
- valkey
- nginx
depends_on:
- mariadb
- valkey
environment:
- MYSQL_HOST=mariadb
- MYSQL_DATABASE=${MARIADB_DATABASE}
- MYSQL_USER=${MARIADB_USER}
- MYSQL_PASSWORD=${MARIADB_PASSWORD}
- REDIS_HOST=valkey
- SMTP_HOST=${SMTP_HOST}
- SMTP_SECURE=${SMTP_SECURE}
- SMTP_PORT=${SMTP_PORT}
- SMTP_NAME=${SMTP_NAME}
- SMTP_PASSWORD=${SMTP_PASSWORD}
- MAIL_FROM_ADDRESS=${MAIL_FROM_ADDRESS}
- MAIL_DOMAIN=${MAIL_DOMAIN}
- TRUSTED_PROXIES=${TRUSTED_PROXIES}
- NC_maintenance_window_start=${NC_maintenance_window_start}
- NC_default_phone_region=${NC_default_phone_region}
security_opt:
- "no-new-privileges=true"
cap_drop:
- ALL
cap_add:
- CHOWN
- DAC_OVERRIDE
- FOWNER
- SETUID
- SETGID
cron:
container_name: cron
image: ghcr.io/polarix-containers/nextcloud:stable
restart: unless-stopped
volumes:
- ./nextcloud:/var/www/html:z
networks:
- mariadb
- valkey
depends_on:
- mariadb
- valkey
entrypoint: /cron.sh
security_opt:
- "no-new-privileges=true"
cap_drop:
- ALL
cap_add:
- SETUID
- SETGID
nginx:
container_name: nginx
restart: unless-stopped
image: ghcr.io/polarix-containers/nginx:unprivileged-slim
ports:
- 8085:8080/tcp
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:Z,ro
- ./nextcloud:/var/www/html:z
networks:
- nginx
depends_on:
- nextcloud
user: "101:101"
read_only: true
tmpfs:
- /var/cache/nginx:mode=0770,uid=101,gid=101,noexec,nosuid,nodev
- /tmp:mode=0770,uid=101,gid=101,noexec,nosuid,nodev
security_opt:
- "no-new-privileges=true"
cap_drop:
- ALL
networks:
mariadb:
valkey:
nginx: