added owncloud service

master
daniel 4 years ago
parent c13e4391e5
commit 11f442e794
  1. 92
      apps/owncloud/docker-compose.yml
  2. 10
      apps/owncloud/env-template

@ -0,0 +1,92 @@
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

@ -0,0 +1,10 @@
OWNCLOUD_DBUSER=owncloud
OWNCLOUD_DBPW=supersecretpassword
OWNCLOUD_ADMINUSER=owncloud-admin
OWNCLOUD_ADMINPW=supersecretadminpassword
OWNCLOUD_HOST=subdomain.domain.com
OWNCLOUD_LBPORT=8080
MARIADB_SQLROOTPW=supersecretrootpassword
MARIADB_SQLUSER=owncloud
MARIADB_SQLPW=supersecretpassword
Loading…
Cancel
Save