Cleanup, set timezone on Traefik, init script for Nextcloud

This commit is contained in:
Jean Froment 2020-10-23 16:43:44 +02:00
parent 942727d5e0
commit f55a965ccf
4 changed files with 47 additions and 72 deletions

View File

@ -2,6 +2,9 @@
TRAEFIK_DOMAIN=mydomain.com TRAEFIK_DOMAIN=mydomain.com
ACME_MAIL=my-email@my-provider.com ACME_MAIL=my-email@my-provider.com
# General settings
TZ="Europe/Paris"
# HTTP Auth # HTTP Auth
HTTP_USER=myuser HTTP_USER=myuser
HTTP_PASSWORD='mypassword_encoded' # Keep these simple quotes! HTTP_PASSWORD='mypassword_encoded' # Keep these simple quotes!

View File

@ -5,7 +5,8 @@ services:
image: traefik image: traefik
container_name: traefik container_name: traefik
restart: always restart: always
command: --certificatesresolvers.le.acme.email=${ACME_MAIL} command:
- --certificatesresolvers.le.acme.email=${ACME_MAIL}
ports: ports:
- "80:80" - "80:80"
- "443:443" - "443:443"
@ -13,6 +14,8 @@ services:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- ./traefik:/etc/traefik:ro - ./traefik:/etc/traefik:ro
- configtraefik:/config:ro - configtraefik:/config:ro
environment:
- TZ=${TZ}
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
# Docker labels for enabling Traefik dashboard # Docker labels for enabling Traefik dashboard
@ -31,7 +34,7 @@ services:
environment: environment:
- PGID=${PGID} - PGID=${PGID}
- PUID=${PUID} - PUID=${PUID}
- TZ=Europe/Paris - TZ=${TZ}
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.deluge.rule=Host(`deluge.${TRAEFIK_DOMAIN}`)" - "traefik.http.routers.deluge.rule=Host(`deluge.${TRAEFIK_DOMAIN}`)"
@ -54,7 +57,7 @@ services:
environment: environment:
- PGID=${PGID} - PGID=${PGID}
- PUID=${PUID} - PUID=${PUID}
- TZ=Europe/Paris - TZ=${TZ}
- VERSION=latest - VERSION=latest
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
@ -72,7 +75,7 @@ services:
environment: environment:
- PGID=${PGID} - PGID=${PGID}
- PUID=${PUID} - PUID=${PUID}
- TZ=Europe/Paris - TZ=${TZ}
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.jackett.rule=Host(`jackett.${TRAEFIK_DOMAIN}`)" - "traefik.http.routers.jackett.rule=Host(`jackett.${TRAEFIK_DOMAIN}`)"
@ -89,7 +92,7 @@ services:
environment: environment:
- PGID=${PGID} - PGID=${PGID}
- PUID=${PUID} - PUID=${PUID}
- TZ=Europe/Paris - TZ=${TZ}
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.sonarr.rule=Host(`sonarr.${TRAEFIK_DOMAIN}`)" - "traefik.http.routers.sonarr.rule=Host(`sonarr.${TRAEFIK_DOMAIN}`)"
@ -106,7 +109,7 @@ services:
environment: environment:
- PGID=${PGID} - PGID=${PGID}
- PUID=${PUID} - PUID=${PUID}
- TZ=Europe/Paris - TZ=${TZ}
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.radarr.rule=Host(`radarr.${TRAEFIK_DOMAIN}`)" - "traefik.http.routers.radarr.rule=Host(`radarr.${TRAEFIK_DOMAIN}`)"
@ -122,7 +125,7 @@ services:
environment: environment:
- PGID=${PGID} - PGID=${PGID}
- PUID=${PUID} - PUID=${PUID}
- TZ=Europe/Paris - TZ=${TZ}
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.bazarr.rule=Host(`bazarr.${TRAEFIK_DOMAIN}`)" - "traefik.http.routers.bazarr.rule=Host(`bazarr.${TRAEFIK_DOMAIN}`)"
@ -138,7 +141,7 @@ services:
environment: environment:
- PGID=${PGID} - PGID=${PGID}
- PUID=${PUID} - PUID=${PUID}
- TZ=Europe/Paris - TZ=${TZ}
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.lidarr.rule=Host(`lidarr.${TRAEFIK_DOMAIN}`)" - "traefik.http.routers.lidarr.rule=Host(`lidarr.${TRAEFIK_DOMAIN}`)"
@ -154,7 +157,7 @@ services:
environment: environment:
- PGID=${PGID} - PGID=${PGID}
- PUID=${PUID} - PUID=${PUID}
- TZ=Europe/Paris - TZ=${TZ}
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.tautulli.rule=Host(`tautulli.${TRAEFIK_DOMAIN}`)" - "traefik.http.routers.tautulli.rule=Host(`tautulli.${TRAEFIK_DOMAIN}`)"
@ -169,39 +172,13 @@ services:
environment: environment:
- USER_ID=${PUID} - USER_ID=${PUID}
- GROUP_ID=${PGID} - GROUP_ID=${PGID}
- TZ=Europe/Paris - TZ=${TZ}
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.services.jdownloader-seedbox.loadbalancer.server.port=5800" - "traefik.http.services.jdownloader-seedbox.loadbalancer.server.port=5800"
- "traefik.http.routers.jdownloader.rule=Host(`jdownloader.${TRAEFIK_DOMAIN}`)" - "traefik.http.routers.jdownloader.rule=Host(`jdownloader.${TRAEFIK_DOMAIN}`)"
- "traefik.http.routers.jdownloader.middlewares=common-auth@file" - "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: nextcloud-db:
image: mariadb:10 image: mariadb:10
container_name: nextcloud-db container_name: nextcloud-db
@ -212,11 +189,13 @@ services:
- MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER} - MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_PASSWORD=${MYSQL_PASSWORD}
- TZ=${TZ}
volumes: volumes:
- nextclouddb:/var/lib/mysql - nextclouddb:/var/lib/mysql
labels: labels:
- "traefik.enable=false" - "traefik.enable=false"
# See init-setup-nextcloud.sh for first install
nextcloud: nextcloud:
depends_on: depends_on:
- nextcloud-db - nextcloud-db
@ -224,17 +203,9 @@ services:
container_name: nextcloud container_name: nextcloud
restart: always restart: always
environment: 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} - PGID=${PGID}
- PUID=${PUID} - PUID=${PUID}
- TZ=Europe/Paris - TZ=${TZ}
volumes: volumes:
- confignextcloud:/config - confignextcloud:/config
- nextclouddata:/data - nextclouddata:/data
@ -245,28 +216,6 @@ services:
- "traefik.http.routers.nextcloud.rule=Host(`nextcloud.${TRAEFIK_DOMAIN}`)" - "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.scheme=https"
- "traefik.http.services.nextcloud-seedbox.loadbalancer.server.port=443" - "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: portainer:
image: portainer/portainer image: portainer/portainer
@ -306,7 +255,7 @@ services:
environment: environment:
- PUID=${PUID} - PUID=${PUID}
- PGID=${PGID} - PGID=${PGID}
- TZ=Europe/Paris - TZ=${TZ}
volumes: volumes:
- configduplicati:/config - configduplicati:/config
- backups:/backups - backups:/backups
@ -378,10 +327,6 @@ volumes:
driver: local-persist driver: local-persist
driver_opts: driver_opts:
mountpoint: /data/config/nextcloud-data mountpoint: /data/config/nextcloud-data
# nextcloudcertificates:
# driver: local-persist
# driver_opts:
# mountpoint: /data/config/nextcloud-certs
torrents: torrents:
driver: local-persist driver: local-persist
driver_opts: driver_opts:

21
init-setup-nextcloud.sh Executable file
View File

@ -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."

View File

@ -1,6 +1,12 @@
api: api:
dashboard: true dashboard: true
# Set Access logs timezone
accessLog:
fields:
names:
StartUTC: drop
providers: providers:
docker: docker:
endpoint: "unix:///var/run/docker.sock" endpoint: "unix:///var/run/docker.sock"