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
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 |