From 3d13a698842b16e3ccac60e4ec2532abaa589608 Mon Sep 17 00:00:00 2001 From: c v t Date: Sat, 27 Jun 2020 01:43:19 +0200 Subject: [PATCH] Initial import --- compose.yml | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 compose.yml diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..d84414d --- /dev/null +++ b/compose.yml @@ -0,0 +1,55 @@ +version: "3.7" + +services: + nextcloud: + image: nextcloud:latest + depends_on: + - maindb + secrets: + - mysql_root_password + environment: + - MYSQL_HOST=maindb:3306 + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=root + - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql_root_password + volumes: + - /mnt/nextcloud:/var/www/html:cached + - /mnt/nextapps:/var/www/html/custom_apps:cached + - /mnt/nextdata:/var/www/html/data:cached + - /mnt/nextconfig:/var/www/html/config:cached + networks: + - proxy + - internal + deploy: + placement: + constraints: [node.role == worker] + replicas: 1 + update_config: + parallelism: 2 + delay: 10s + restart_policy: + condition: on-failure + labels: + - "traefik.enable=true" + - "traefik.docker.network=proxy" + - "traefik.http.routers.nextcloud.tls=true" + - "traefik.http.routers.nextcloud.entrypoints=websecure" + - "traefik.http.services.nextcloud.loadbalancer.server.port=80" + - "traefik.http.routers.invoiceninja.rule=Host(`${DOMAIN}`)" + - "traefik.http.routers.invoiceninja.tls.certresolver=${LETS_ENCRYPT_ENV}" + +secrets: + mysql_root_password: + external: true + +volumes: + nextcloud: + nextapps: + nextdata: + nextconfig: + +networks: + proxy: + external: true + private: + external: true