You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
2.8 KiB

version: "3"
services:
owncloud:
image: owncloud/server:latest
container_name: owncloud
restart: unless-stopped
security_opt:
- no-new-privileges:true
environment:
- OWNCLOUD_DOMAIN=owncloud.euredomain.de
- OWNCLOUD_DB_TYPE=mysql
- OWNCLOUD_DB_NAME=owncloud
- OWNCLOUD_DB_USERNAME=${OWNCLOUD_DBUSER}
- OWNCLOUD_DB_PASSWORD=${OWNCLOUD_DBPW}
- OWNCLOUD_DB_HOST=mariadb
- OWNCLOUD_ADMIN_USERNAME=${OWNCLOUD_ADMINUSER}
- OWNCLOUD_ADMIN_PASSWORD=${OWNCLOUD_ADMINPW}
- OWNCLOUD_MYSQL_UTF8MB4=true
- OWNCLOUD_REDIS_ENABLED=true
- OWNCLOUD_REDIS_HOST=redis
healthcheck:
test: ["CMD", "/usr/bin/healthcheck"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- ./files:/mnt/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.owncloud.entrypoints=http"
- "traefik.http.routers.owncloud.rule=Host(`${OWNCLOUD_HOST}`)"
- "traefik.http.middlewares.owncloud-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.owncloud.middlewares=owncloud-https-redirect"
- "traefik.http.routers.owncloud-secure.entrypoints=https"
- "traefik.http.routers.owncloud-secure.rule=Host(`${OWNCLOUD_HOST}`)"
- "traefik.http.routers.owncloud-secure.tls=true"
- "traefik.http.routers.owncloud-secure.tls.certresolver=http"
- "traefik.http.routers.owncloud-secure.service=owncloud"
- "traefik.http.services.owncloud.loadbalancer.server.port=${OWNCLOUD_LBPORT}"
- "traefik.docker.network=traefik-proxy"
- "traefik.http.routers.owncloud-secure.middlewares=secHeaders@file"
networks:
- owncloud
- traefik-proxy
depends_on:
- mariadb
- redis
mariadb:
image: mariadb:10.5
container_name: owncloud_mariadb
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=${MARIADB_SQLROOTPW}
- MYSQL_USER=${MARIADB_SQLUSER}
- MYSQL_PASSWORD=${MARIADB_SQLPW}
- MYSQL_DATABASE=owncloud
command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"]
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=${MARIADB_SQLROOTPW} "]
interval: 10s
timeout: 5s
retries: 5
volumes:
- ./database:/var/lib/mysql
networks:
- owncloud
redis:
image: redis:6
container_name: owncloud_redis
restart: unless-stopped
command: ["--databases", "1"]
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- ./redis:/data
networks:
- owncloud
networks:
owncloud:
driver: bridge
external: false
name: int_owncloud
traefik-proxy:
external: true
name: traefik-proxy