From f55a965ccf1db7890a3f6fc4ecdd16d6bb7a7c90 Mon Sep 17 00:00:00 2001 From: Jean Froment Date: Fri, 23 Oct 2020 16:43:44 +0200 Subject: [PATCH] Cleanup, set timezone on Traefik, init script for Nextcloud --- .env.sample | 3 ++ docker-compose.yml | 89 ++++++++--------------------------------- init-setup-nextcloud.sh | 21 ++++++++++ traefik/traefik.yaml | 6 +++ 4 files changed, 47 insertions(+), 72 deletions(-) create mode 100755 init-setup-nextcloud.sh diff --git a/.env.sample b/.env.sample index c804adb..774278c 100644 --- a/.env.sample +++ b/.env.sample @@ -2,6 +2,9 @@ TRAEFIK_DOMAIN=mydomain.com ACME_MAIL=my-email@my-provider.com +# General settings +TZ="Europe/Paris" + # HTTP Auth HTTP_USER=myuser HTTP_PASSWORD='mypassword_encoded' # Keep these simple quotes! diff --git a/docker-compose.yml b/docker-compose.yml index 6996eaf..13731e5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,7 +5,8 @@ services: image: traefik container_name: traefik restart: always - command: --certificatesresolvers.le.acme.email=${ACME_MAIL} + command: + - --certificatesresolvers.le.acme.email=${ACME_MAIL} ports: - "80:80" - "443:443" @@ -13,6 +14,8 @@ services: - /var/run/docker.sock:/var/run/docker.sock - ./traefik:/etc/traefik:ro - configtraefik:/config:ro + environment: + - TZ=${TZ} labels: - "traefik.enable=true" # Docker labels for enabling Traefik dashboard @@ -31,7 +34,7 @@ services: environment: - PGID=${PGID} - PUID=${PUID} - - TZ=Europe/Paris + - TZ=${TZ} labels: - "traefik.enable=true" - "traefik.http.routers.deluge.rule=Host(`deluge.${TRAEFIK_DOMAIN}`)" @@ -54,7 +57,7 @@ services: environment: - PGID=${PGID} - PUID=${PUID} - - TZ=Europe/Paris + - TZ=${TZ} - VERSION=latest labels: - "traefik.enable=true" @@ -72,7 +75,7 @@ services: environment: - PGID=${PGID} - PUID=${PUID} - - TZ=Europe/Paris + - TZ=${TZ} labels: - "traefik.enable=true" - "traefik.http.routers.jackett.rule=Host(`jackett.${TRAEFIK_DOMAIN}`)" @@ -89,7 +92,7 @@ services: environment: - PGID=${PGID} - PUID=${PUID} - - TZ=Europe/Paris + - TZ=${TZ} labels: - "traefik.enable=true" - "traefik.http.routers.sonarr.rule=Host(`sonarr.${TRAEFIK_DOMAIN}`)" @@ -106,7 +109,7 @@ services: environment: - PGID=${PGID} - PUID=${PUID} - - TZ=Europe/Paris + - TZ=${TZ} labels: - "traefik.enable=true" - "traefik.http.routers.radarr.rule=Host(`radarr.${TRAEFIK_DOMAIN}`)" @@ -122,7 +125,7 @@ services: environment: - PGID=${PGID} - PUID=${PUID} - - TZ=Europe/Paris + - TZ=${TZ} labels: - "traefik.enable=true" - "traefik.http.routers.bazarr.rule=Host(`bazarr.${TRAEFIK_DOMAIN}`)" @@ -138,7 +141,7 @@ services: environment: - PGID=${PGID} - PUID=${PUID} - - TZ=Europe/Paris + - TZ=${TZ} labels: - "traefik.enable=true" - "traefik.http.routers.lidarr.rule=Host(`lidarr.${TRAEFIK_DOMAIN}`)" @@ -154,7 +157,7 @@ services: environment: - PGID=${PGID} - PUID=${PUID} - - TZ=Europe/Paris + - TZ=${TZ} labels: - "traefik.enable=true" - "traefik.http.routers.tautulli.rule=Host(`tautulli.${TRAEFIK_DOMAIN}`)" @@ -169,39 +172,13 @@ services: environment: - USER_ID=${PUID} - GROUP_ID=${PGID} - - TZ=Europe/Paris + - TZ=${TZ} labels: - "traefik.enable=true" - "traefik.http.services.jdownloader-seedbox.loadbalancer.server.port=5800" - "traefik.http.routers.jdownloader.rule=Host(`jdownloader.${TRAEFIK_DOMAIN}`)" - "traefik.http.routers.jdownloader.middlewares=common-auth@file" - # nextcloud: - # image: wonderfall/nextcloud - # container_name: nextcloud - # restart: always - # volumes: - # - confignextcloud:/config - # - nextclouddata:/data - # - torrents:/torrents - # - config:/seedbox-config - # environment: - # - GID=${PGID} - # - UID=${PUID} - # - TZ=Europe/Paris - # - ADMIN_USER=${NEXTCLOUD_ADMIN_USER} - # - ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD} - # - DOMAIN=nextcloud.${TRAEFIK_DOMAIN} - # - DB_TYPE=sqlite3 - # - DB_NAME=${NEXTCLOUD_DB_NAME} - # - DB_USER=${NEXTCLOUD_DB_USER} - # - DB_PASSWORD=${NEXTCLOUD_DB_PASSWORD} - # labels: - # - "traefik.enable=true" - # - "traefik.http.routers.nextcloud.rule=Host(`nextcloud.${TRAEFIK_DOMAIN}`)" - # - "traefik.http.routers.nextcloud.entrypoints=secure" - # - "traefik.http.routers.nextcloud.tls.certresolver=le" - nextcloud-db: image: mariadb:10 container_name: nextcloud-db @@ -212,11 +189,13 @@ services: - MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_USER=${MYSQL_USER} - MYSQL_PASSWORD=${MYSQL_PASSWORD} + - TZ=${TZ} volumes: - nextclouddb:/var/lib/mysql labels: - "traefik.enable=false" + # See init-setup-nextcloud.sh for first install nextcloud: depends_on: - nextcloud-db @@ -224,17 +203,9 @@ services: container_name: nextcloud restart: always environment: - # - MYSQL_HOST="nextcloud-db" - # - MYSQL_DATABASE=${MYSQL_DATABASE} - # - MYSQL_USER=${MYSQL_USER} - # - MYSQL_PASSWORD=${MYSQL_PASSWORD} - # - NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER} - # - NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD} - # - NEXTCLOUD_TRUSTED_DOMAINS="nextcloud.${TRAEFIK_DOMAIN}" - # - DOMAIN=nextcloud.${TRAEFIK_DOMAIN} - PGID=${PGID} - PUID=${PUID} - - TZ=Europe/Paris + - TZ=${TZ} volumes: - confignextcloud:/config - nextclouddata:/data @@ -245,28 +216,6 @@ services: - "traefik.http.routers.nextcloud.rule=Host(`nextcloud.${TRAEFIK_DOMAIN}`)" - "traefik.http.services.nextcloud-seedbox.loadbalancer.server.scheme=https" - "traefik.http.services.nextcloud-seedbox.loadbalancer.server.port=443" - # ## TCP Routers - # - "traefik.tcp.routers.nextcloud-tcp.entrypoints=secure" - # - "traefik.tcp.routers.nextcloud-tcp.rule=HostSNI(`nextcloud.${TRAEFIK_DOMAIN}`)" - # - "traefik.tcp.routers.nextcloud-tcp.tls=true" - # - "traefik.tcp.routers.nextcloud-tcp.tls.certresolver=le" - # - "traefik.tcp.routers.nextcloud-tcp.tls.passthrough=true" - # ## TCP Services - # - "traefik.tcp.routers.nextcloud-tcp.service=nextcloud-tcp-svc" - # - "traefik.tcp.services.nextcloud-tcp-svc.loadbalancer.server.port=443" - - # certdumper: - # image: humenius/traefik-certs-dumper:latest - # container_name: traefik_certdumper - # command: --restart-containers nextcloud - # volumes: - # - configtraefik:/traefik:ro - # - nextcloudcertificates:/output:rw - # - /var/run/docker.sock:/var/run/docker.sock:ro - # environment: - # - DOMAIN=nextcloud.${TRAEFIK_DOMAIN} - # - OVERRIDE_UID=${PUID} - # - OVERRIDE_GID=${PGID} portainer: image: portainer/portainer @@ -306,7 +255,7 @@ services: environment: - PUID=${PUID} - PGID=${PGID} - - TZ=Europe/Paris + - TZ=${TZ} volumes: - configduplicati:/config - backups:/backups @@ -378,10 +327,6 @@ volumes: driver: local-persist driver_opts: mountpoint: /data/config/nextcloud-data - # nextcloudcertificates: - # driver: local-persist - # driver_opts: - # mountpoint: /data/config/nextcloud-certs torrents: driver: local-persist driver_opts: diff --git a/init-setup-nextcloud.sh b/init-setup-nextcloud.sh new file mode 100755 index 0000000..2973cc4 --- /dev/null +++ b/init-setup-nextcloud.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +echo "[$0] Loading variables..." +source .env + +echo "[$0] Installing nextcloud..." +docker exec -it -u abc -w /config/www/nextcloud \ + nextcloud bash -c " \ + php occ maintenance:install \ + --database \"mysql\" \ + --database-host \"${MYSQL_DATABASE}\" \ + --database-name \"nextcloud-db\" \ + --database-user \"${MYSQL_USER}\" \ + --database-pass \"${MYSQL_PASSWORD}\" \ + --admin-user \"${NEXTCLOUD_ADMIN_USER}\" \ + --admin-pass \"${NEXTCLOUD_ADMIN_PASSWORD}\" \ + --admin-email \"${ACME_MAIL}\" \ + --data-dir \"/data\" \ + " + +echo "[$0] Done." \ No newline at end of file diff --git a/traefik/traefik.yaml b/traefik/traefik.yaml index b5916ba..a2dfe1a 100644 --- a/traefik/traefik.yaml +++ b/traefik/traefik.yaml @@ -1,6 +1,12 @@ api: dashboard: true +# Set Access logs timezone +accessLog: + fields: + names: + StartUTC: drop + providers: docker: endpoint: "unix:///var/run/docker.sock"