Files
nextcloud/docker-compose.yml
T

165 lines
4.5 KiB
YAML

version: '3.5'
services:
# db:
# image: postgres:alpine
# restart: always
# volumes:
# - db:/var/lib/postgresql/data:z
# env_file:
# - db.env
# networks:
# - database-connection
db:
# image: mysql:9.2.0
image: mysql:9.7.2
restart: always
volumes:
- mysql:/var/lib/mysql
env_file:
- mysql.env
networks:
- database-connection
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=igen
redis:
image: redis:8.6.5-alpine
restart: always
networks:
- redis-connection
app:
image: nextcloud:32.0.14-fpm-alpine
# image: nextcloud@sha256:e899ecc5d6b89863d06ffd6eaa3a965c7fc7fd671b38dd06f8185e1df761c7c8
# image: nextcloud:fpm
restart: always
volumes:
- nextcloud:/var/www/html:z
environment:
# - POSTGRES_HOST=db
- MYSQL_HOST=db
- REDIS_HOST=redis
# - TRUSTED_PROXIES=test.kovagoadi.hu.dev.kovagoadi.hu
- OVERWRITECLIURL=https://tar-v33.kovagoadi.hu
- OVERWRITEPROTOCOL=https
- APPIMAGE_EXTRACT_AND_RUN=1
env_file:
# - db.env
- mysql.env
# extra_hosts:
# - tar-collabora.kovagoadi.hu.dev.kovagoadi.hu:collabora
depends_on:
- db
- redis
networks:
- database-connection
- redis-connection
- fpm-connection
- collabora-connection
- prod_proxy
collabora:
# image: collabora/code:24.04.7.2.1
# image: collabora/code:24.04.13.3.1
image: collabora/code:26.04.2.4.1
cap_add:
- MKNOD
privileged: true
environment:
# - domain=test-collabora.kovagoadi.hu.dev.kovagoadi.hu
- server_name=tar-collabora.kovagoadi.hu.dev.kovagoadi.hu
- username=kovagoadi
- password=vai1ooYohte0thiaXai2 # Change me before deploying prod
# - DONT_GEN_SSL_CERT=1
- cert_domain=tar-collabora.kovagoadi.hu.dev.kovagoadi.hu
# ports:
# - 9980:9980
restart: always
volumes:
- "/etc/localtime:/etc/localtime:ro"
networks:
- prod_proxy
- collabora-connection
labels:
- "env=staging"
- "traefik.enable=true"
- "traefik.http.routers.collabora.priority=100"
- "traefik.http.routers.collabora.rule=Host(`tar-collabora.kovagoadi.hu.dev.kovagoadi.hu`)"
- "traefik.http.routers.collabora-https.priority=100"
- "traefik.http.routers.collabora-https.rule=Host(`tar-collabora.kovagoadi.hu.dev.kovagoadi.hu`)"
- "traefik.http.routers.collabora.entrypoints=web"
- traefik.http.routers.collabora-https.entrypoints=https
- traefik.http.routers.collabora-https.tls=true
- traefik.http.routers.collabora-https.tls.certresolver=letsencrypt
whiteboard:
image: ghcr.io/nextcloud-releases/whiteboard:v1.5.9
environment:
- NEXTCLOUD_URL=https://tar-v33.kovagoadi.hu
- JWT_SECRET_KEY=dohlahqu3chaS7ieghee # Change me before deploying prod
- STORAGE_STRATEGY=redis
- REDIS_URL=redis://redis
restart: always
networks:
- prod_proxy
- redis-connection
web:
image: web:latest
build:
context: ./web
dockerfile: Dockerfile
restart: always
# ports:
# - 127.0.0.1:8080:80
# - 8180:80
volumes:
- nextcloud:/var/www/html:z,ro
depends_on:
- app
networks:
- prod_proxy
- fpm-connection
labels:
- "env=prod"
- "traefik.enable=true"
- "traefik.http.routers.nextcloud-v33.priority=100"
- "traefik.http.routers.nextcloud-v33.rule=Host(`tar-v33.kovagoadi.hu`)"
- "traefik.http.routers.nextcloud-v33-https.priority=100"
- "traefik.http.routers.nextcloud-v33-https.rule=Host(`tar-v33.kovagoadi.hu`)"
- "traefik.http.routers.nextcloud-v33.entrypoints=web"
- traefik.http.routers.nextcloud-v33-https.entrypoints=https
- traefik.http.routers.nextcloud-v33-https.tls=true
- traefik.http.routers.nextcloud-v33-https.tls.certresolver=letsencrypt
cron:
image: nextcloud:32.0.14-fpm-alpine
# image: nextcloud@sha256:e899ecc5d6b89863d06ffd6eaa3a965c7fc7fd671b38dd06f8185e1df761c7c8
restart: always
volumes:
- nextcloud:/var/www/html:z
entrypoint: /cron.sh
depends_on:
- db
- redis
networks:
- database-connection
- redis-connection
volumes:
db:
nextcloud:
mysql:
networks:
prod_proxy:
external: true
name: prod_proxy
database-connection:
redis-connection:
fpm-connection:
collabora-connection: