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:26.7.0@sha256:45abdd9b4144660b5c93a5b7d0ebb21e024f0ba9851ecb4ab43bf83c6bf83592
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@sha256:cd218f4b106a332c5c992e38a9480bfb9d7e9f8f7b0ec9a0023bfa36d9a408f9
restart: always
networks:
- redis-connection
app:
image: nextcloud:32.0.14-fpm-alpine@sha256:da1d436568cd19d73f2a08d5f11c061e419a47f1be0f6ac29b53282086a85f58
# 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@sha256:1f864ce3f0c49e867787b6dd303bd6ba989542d3023f6809df558eafd04c1b97
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:32.0.14-fpm-alpine@sha256:da1d436568cd19d73f2a08d5f11c061e419a47f1be0f6ac29b53282086a85f58
# 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: