Files
nextcloud/docker-compose.yml

166 lines
4.9 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@sha256:29abb0a179982e4a8928138bfc7f918af9eda64e7eeb1b1d084c1720a20159e6
restart: always
volumes:
- mysql:/var/lib/mysql
env_file:
- mysql.env
networks:
- database-connection
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=igen
redis:
image: redis:8.10.1-alpine@sha256:7d509f5640f5ed199d8781b5f5a45050133efe700aed34491f0b060665066d76
restart: always
networks:
- redis-connection
app:
image: nextcloud:35.0.0-fpm-alpine@sha256:cd58314580a4ab3edb70a5ef44f062eb5d926c3ec44c29c8dd89965928ee074a
# 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.4.1.1@sha256:1efda3043e8b9cb437d1b6c6efe20cc3753760e634de012b8dac391da488bf97
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@sha256:b60b7633f90d106ac6922f9bc27e1a1ca2442488b740fefdae4c812f34e9cebc
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.docker.network=prod_proxy"
- "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:35.0.0-fpm-alpine@sha256:cd58314580a4ab3edb70a5ef44f062eb5d926c3ec44c29c8dd89965928ee074a
# 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: