From 0236bdb0ae5170950609fb17e5787a77567faba3 Mon Sep 17 00:00:00 2001 From: Lino Silva Date: Tue, 28 Feb 2023 17:24:43 +0000 Subject: [PATCH] Added multiple services --- arr/docker-compose.yml | 22 ++++---- arr/stack.env | 1 + changedetection/docker-compose.yml | 17 +++++++ cloudflare-ddns/docker-compose.yml | 11 ++++ dahua2mqtt/docker-compose.yml | 28 +++++++++++ immich/docker-compose.yml | 0 immich/stack.env | 9 ++++ lino-cooking/docker-compose.yml | 0 magic-mirror/docker-compose.yml | 17 +++++++ mealie/docker-compose.yml | 16 ++++++ metube/docker-compose.yml | 14 ++++++ minio/docker-compose.yml | 26 ++++++++++ mosquitto/docker-compose.yml | 20 ++++++++ nextcloud/docker-compose.yml | 43 ++++++++++++++++ nginx-proxy-manager/docker-compose.yml | 19 +++++++ node-red/docker-compose.yml | 20 ++++++++ outline/docker-compose.yml | 0 outline/stack.env | 23 +++++++++ paperless/docker-compose.yml | 69 ++++++++++++++++++++++++++ portainer/docker-compose.yml | 18 +++++++ satisfactory-server/docker-compose.yml | 19 +++++++ swag/docker-compose.yml | 45 +++++++++++++++++ vaultwarden/docker-compose.yml | 14 ++++++ 23 files changed, 439 insertions(+), 12 deletions(-) create mode 100644 changedetection/docker-compose.yml create mode 100644 cloudflare-ddns/docker-compose.yml create mode 100644 dahua2mqtt/docker-compose.yml create mode 100644 immich/docker-compose.yml create mode 100644 immich/stack.env create mode 100644 lino-cooking/docker-compose.yml create mode 100644 magic-mirror/docker-compose.yml create mode 100644 mealie/docker-compose.yml create mode 100644 metube/docker-compose.yml create mode 100644 minio/docker-compose.yml create mode 100644 mosquitto/docker-compose.yml create mode 100644 nextcloud/docker-compose.yml create mode 100644 nginx-proxy-manager/docker-compose.yml create mode 100644 node-red/docker-compose.yml create mode 100644 outline/docker-compose.yml create mode 100644 outline/stack.env create mode 100644 paperless/docker-compose.yml create mode 100644 portainer/docker-compose.yml create mode 100644 satisfactory-server/docker-compose.yml create mode 100644 swag/docker-compose.yml create mode 100644 vaultwarden/docker-compose.yml diff --git a/arr/docker-compose.yml b/arr/docker-compose.yml index 0a7a3f2..a2be110 100644 --- a/arr/docker-compose.yml +++ b/arr/docker-compose.yml @@ -1,60 +1,59 @@ - version: '3' +version: '3' services: radarr: - restart: unless-stopped + image: linuxserver/radarr container_name: radarr + restart: unless-stopped volumes: - ${DATADIRROOT}/radarr:/config - ${DOWNLOADDIR}:/downloads - ${MOVIESDIR}:/movies env_file: - stack.env - image: linuxserver/radarr networks: - reverse-proxy prowlarr: - image: ghcr.io/linuxserver/prowlarr:develop + image: linuxserver/prowlarr container_name: prowlarr + restart: unless-stopped env_file: - stack.env volumes: - ${DATADIRROOT}/prowlarr:/config - restart: unless-stopped networks: - reverse-proxy sonarr: - restart: unless-stopped + image: linuxserver/sonarr container_name: sonarr + restart: unless-stopped volumes: - ${DATADIRROOT}/sonarr:/config - ${DOWNLOADDIR}:/downloads - ${TVDIR}:/tv env_file: - stack.env - image: linuxserver/sonarr networks: - reverse-proxy overseerr: image: ghcr.io/linuxserver/overseerr container_name: overseerr + restart: unless-stopped env_file: - stack.env volumes: - ${DATADIRROOT}/overseerr:/config - restart: unless-stopped networks: - reverse-proxy transmission: image: ghcr.io/linuxserver/transmission container_name: transmission - hostname: transmission + restart: unless-stopped env_file: - stack.env - volumes: - ${DATADIRROOT}/transmission:/config - ${DOWNLOADDIR}:/downloads @@ -62,7 +61,6 @@ services: ports: - 51413:51413 - 51413:51413/udp - restart: unless-stopped networks: - reverse-proxy @@ -82,13 +80,13 @@ services: bazarr: image: lscr.io/linuxserver/bazarr container_name: bazarr + restart: unless-stopped env_file: - stack.env volumes: - ${DATADIRROOT}/bazaar/config:/config - ${MOVIESDIR}:/movies - ${TVDIR}:/tv - restart: unless-stopped networks: - reverse-proxy diff --git a/arr/stack.env b/arr/stack.env index c722c2d..65232bf 100644 --- a/arr/stack.env +++ b/arr/stack.env @@ -2,6 +2,7 @@ DATADIRROOT=/mnt/SSD500/docker DOWNLOADDIR=/mnt/8TB/uTorrent MOVIESDIR=/mnt/8TB/Movies TVDIR=/mnt/2TB/TVShows +MUSICDIR=/mnt/2TB/Music PUID=1000 PGID=1000 diff --git a/changedetection/docker-compose.yml b/changedetection/docker-compose.yml new file mode 100644 index 0000000..048b26c --- /dev/null +++ b/changedetection/docker-compose.yml @@ -0,0 +1,17 @@ +version: "3.1" + +services: + app: + image: dgtlmoon/changedetection.io + container_name: change-detection + restart: always + environment: + TZ: Europe/Lisbon + volumes: + - /mnt/SSD500/docker/changedetection:/datastore + networks: + - reverse-proxy + +networks: + reverse-proxy: + external: true \ No newline at end of file diff --git a/cloudflare-ddns/docker-compose.yml b/cloudflare-ddns/docker-compose.yml new file mode 100644 index 0000000..7212788 --- /dev/null +++ b/cloudflare-ddns/docker-compose.yml @@ -0,0 +1,11 @@ +version: '3' + +services: + app: + image: oznu/cloudflare-ddns:latest + container_name: cloudflare-ddns + restart: always + environment: + - API_KEY=9g7NUS3JHRQmJ931TMniq_9G5QvvzBwPqHwHHHyN + - ZONE=lino.cooking + - PROXIED=false \ No newline at end of file diff --git a/dahua2mqtt/docker-compose.yml b/dahua2mqtt/docker-compose.yml new file mode 100644 index 0000000..14762be --- /dev/null +++ b/dahua2mqtt/docker-compose.yml @@ -0,0 +1,28 @@ +version: '3' +services: + dahuavto2mqtt: + image: "registry.gitlab.com/elad.bar/dahuavto2mqtt:latest" + container_name: "dahua2mqtt" + hostname: "dahua2mqtt" + restart: "unless-stopped" + environment: + - DAHUA_VTO_HOST=10.0.0.100 + - DAHUA_VTO_USERNAME=admin + - DAHUA_VTO_PASSWORD=admin1234 + - MQTT_BROKER_HOST=mosquitto + - MQTT_BROKER_PORT=1883 + - MQTT_BROKER_USERNAME=lino + - MQTT_BROKER_PASSWORD=foda-selápraestamerdadestapassword + - MQTT_BROKER_TOPIC_PREFIX=DahuaVTO + - MQTT_BROKER_CLIENT_ID=DahuaVTO2MQTT + - DEBUG=False + networks: + - mqtt + - reverse-proxy + +networks: + mqtt: + external: true + reverse-proxy: + external: true + diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml new file mode 100644 index 0000000..e69de29 diff --git a/immich/stack.env b/immich/stack.env new file mode 100644 index 0000000..cc722f9 --- /dev/null +++ b/immich/stack.env @@ -0,0 +1,9 @@ +DB_HOSTNAME=immich_postgres +DB_USERNAME=ANVdeo9LyBqXwKwsCZMnSYe4yApjB7mvKtDE9CTTrMaq2tA3Hn +DB_PASSWORD=KfVYJXdmN2jJd8BpU2AMGcJ9t9od4NgQrcRc6g9yeqZAZVYo68 +DB_DATABASE_NAME=immich +REDIS_HOSTNAME=immich_redis +UPLOAD_LOCATION=/export/photos/phone-lino +LOG_LEVEL=simple +PUBLIC_LOGIN_PAGE_MESSAGE="Photos" +NODE_ENV=production diff --git a/lino-cooking/docker-compose.yml b/lino-cooking/docker-compose.yml new file mode 100644 index 0000000..e69de29 diff --git a/magic-mirror/docker-compose.yml b/magic-mirror/docker-compose.yml new file mode 100644 index 0000000..570c113 --- /dev/null +++ b/magic-mirror/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3' +services: + app: + image: bastilimbach/docker-magicmirror + container_name: magic-mirror + restart: unless-stopped + volumes: + - /etc/localtime:/etc/localtime:ro + - /mnt/SSD500/docker/magic_mirror/config:/opt/magic_mirror/config + - /mnt/SSD500/docker/magic_mirror/modules:/opt/magic_mirror/modules + - /mnt/SSD500/docker/magic_mirror/css:/opt/magic_mirror/css + networks: + - reverse-proxy + +networks: + reverse-proxy: + external: true diff --git a/mealie/docker-compose.yml b/mealie/docker-compose.yml new file mode 100644 index 0000000..8688147 --- /dev/null +++ b/mealie/docker-compose.yml @@ -0,0 +1,16 @@ +version: "3.1" +services: + mealie: + container_name: mealie + image: hkotel/mealie:latest + restart: always + environment: + TZ: Europe/Lisbon + volumes: + - /mnt/SSD500/docker/mealie/data/:/app/data + networks: + - reverse-proxy + +networks: + reverse-proxy: + external: true \ No newline at end of file diff --git a/metube/docker-compose.yml b/metube/docker-compose.yml new file mode 100644 index 0000000..5978d48 --- /dev/null +++ b/metube/docker-compose.yml @@ -0,0 +1,14 @@ +version: "3" +services: + metube: + image: alexta69/metube + container_name: metube + restart: unless-stopped + volumes: + - /mnt/8TB/Youtube:/downloads + networks: + - reverse-proxy + +networks: + reverse-proxy: + external: true \ No newline at end of file diff --git a/minio/docker-compose.yml b/minio/docker-compose.yml new file mode 100644 index 0000000..3412107 --- /dev/null +++ b/minio/docker-compose.yml @@ -0,0 +1,26 @@ +version: '3.7' + +services: + minio: + container_name: minio + image: quay.io/minio/minio:RELEASE.2022-06-03T01-40-53Z + command: server --console-address ":80" /data + environment: + MINIO_ROOT_USER: 84yrXNNAM6qJF9ZDfvhtkQke9iJ7sJivHxapUgVcber3QmZZSt + MINIO_ROOT_PASSWORD: 44w8exbgc5RZkKTEo5oRsCLGGba4raBKBXXySs83ebeae5cnun + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] + interval: 30s + timeout: 20s + retries: 3 + hostname: minio + restart: always + volumes: + - /mnt/SSD500/docker/minio:/data + networks: + - reverse-proxy + +networks: + reverse-proxy: + external: true + diff --git a/mosquitto/docker-compose.yml b/mosquitto/docker-compose.yml new file mode 100644 index 0000000..a2830d0 --- /dev/null +++ b/mosquitto/docker-compose.yml @@ -0,0 +1,20 @@ +version: "3.1" +services: + app: + image: eclipse-mosquitto + container_name: mosquitto + restart: unless-stopped + ports: + - 1883:1883 + - 9001:9001 + volumes: + - /mnt/SSD500/docker/mosquitto/mosquitto.conf:/mosquitto/config/mosquitto.conf + - /mnt/SSD500/docker/mosquitto/data/:/mosquitto/data + - /mnt/SSD500/docker/mosquitto/log/:/mosquitto/log + networks: + + - mqtt + +networks: + mqtt: + external: true diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml new file mode 100644 index 0000000..bc3662e --- /dev/null +++ b/nextcloud/docker-compose.yml @@ -0,0 +1,43 @@ +version: '3.1' + +services: + db: + image: mariadb + container_name: nextcloud-db + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-read-only-compressed=OFF + restart: always + volumes: + - /mnt/SSD500/docker/nextcloud/mysql_data:/var/lib/mysql + environment: + - MYSQL_ROOT_PASSWORD=!cjhDe@BmDZj8*JyYCtLg6gmwm4nn*Y%!y6hxTJo + - MYSQL_PASSWORD=R@xtYp#7tU75kGz!jDeQyZPT!3k9m4fGJ6YZCVNm + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + - MYSQL_ALLOW_EMPTY_PASSWORD=true + networks: + - internal + + app: + image: nextcloud + container_name: nextcloud + volumes: + - /ganondorf/nextcloud:/var/www/html + - /mnt/SSD500/docker:/mnt/docker-configs + environment: + - NEXTCLOUD_HOSTNAME=cloud.lino.cooking + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + - MYSQL_PASSWORD=R@xtYp#7tU75kGz!jDeQyZPT!3k9m4fGJ6YZCVNm + - MYSQL_HOST=nextcloud-db:3306 + - NEXTCLOUD_ADMIN_USER=linosilva + - NEXTCLOUD_ADMIN_PASSWORD=4nuy%JU4AVeGUPozYb8V*U6ud&5@lS + restart: always + networks: + - reverse-proxy + - internal + +networks: + internal: + internal: true + reverse-proxy: + external: true diff --git a/nginx-proxy-manager/docker-compose.yml b/nginx-proxy-manager/docker-compose.yml new file mode 100644 index 0000000..0f76dd2 --- /dev/null +++ b/nginx-proxy-manager/docker-compose.yml @@ -0,0 +1,19 @@ +version: '3' +services: + app: + image: 'jc21/nginx-proxy-manager:latest' + container_name: nginx-proxy-manager + restart: unless-stopped + ports: +# - '80:80' + - '81:81' +# - '443:443' + volumes: + - /mnt/SSD500/docker/nginx-reverse/data:/data + - /mnt/SSD500/docker/nginx-reverse/certs:/etc/letsencrypt + networks: + - reverse-proxy + +networks: + reverse-proxy: + external: true \ No newline at end of file diff --git a/node-red/docker-compose.yml b/node-red/docker-compose.yml new file mode 100644 index 0000000..ac39019 --- /dev/null +++ b/node-red/docker-compose.yml @@ -0,0 +1,20 @@ +version: "3.7" + +services: + app: + image: nodered/node-red:latest + container_name: node-red + restart: unless-stopped + environment: + - TZ=Europe/Lisbon + volumes: + - /mnt/SSD500/docker/node-red:/data + networks: + - reverse-proxy + - mqtt + +networks: + mqtt: + external: true + reverse-proxy: + external: true \ No newline at end of file diff --git a/outline/docker-compose.yml b/outline/docker-compose.yml new file mode 100644 index 0000000..e69de29 diff --git a/outline/stack.env b/outline/stack.env new file mode 100644 index 0000000..1e794c9 --- /dev/null +++ b/outline/stack.env @@ -0,0 +1,23 @@ +SECRET_KEY=b8bb828f0e0130c39f81278242d4344ea68a7b0ee7d58f9f4b42955ec71098bb +UTILS_SECRET=cca4eb4ff11087bf382e06365df08f03d9878d3baabd3e835c55ad4f25f3b0c4 +DATABASE_URL=postgres://user:pass@outline-postgres:5432/outline +DATABASE_URL_TEST=postgres://user:pass@outline-postgres:5432/outline-test +REDIS_URL=redis://outline-redis:6379 +AWS_ACCESS_KEY_ID=dmLE7I7Zo6Qie0eS +AWS_SECRET_ACCESS_KEY=ZwLhLYxq7tVk1wGKieDl6ZW8H1PdlQcP +AWS_S3_UPLOAD_BUCKET_URL=https://minio.lino.cooking/ +AWS_S3_UPLOAD_BUCKET_NAME=outline +AWS_S3_ACL=private +FORCE_HTTPS=false +ENABLE_UPDATES=true +WEB_CONCURRENCY=2 +MAXIMUM_IMPORT_SIZE=5120000 +DEBUG=http +DEFAULT_LANGUAGE=en_US +OIDC_CLIENT_ID=outline-766Wu4kcFgB4CWhXWH2CF6pim5dYHB6MCVqPDGVPoPDvsvW8dL +OIDC_CLIENT_SECRET=766Wu4kcFgB4CWhXWH2CF6pim5dYHB6MCVqPDGVPoPDvsvW8dL +OIDC_AUTH_URI=https://authelia.lino.cooking/api/oidc/authorize +OIDC_TOKEN_URI=https://authelia.lino.cooking/api/oidc/token +OIDC_USERINFO_URI=https://authelia.lino.cooking/api/oidc/userinfo +OIDC_DISPLAY_NAME=Authelia +OIDC_SCOPES="openid profile email" diff --git a/paperless/docker-compose.yml b/paperless/docker-compose.yml new file mode 100644 index 0000000..9c1f8d4 --- /dev/null +++ b/paperless/docker-compose.yml @@ -0,0 +1,69 @@ +version: "3.4" + +services: + broker: + image: redis:6.0 + container_name: paperless-broker + restart: unless-stopped + networks: + - internal + + db: + image: postgres:13 + container_name: paperless-db + restart: unless-stopped + volumes: + - /mnt/SSD500/docker/paperless/db:/var/lib/postgresql/data + environment: + POSTGRES_DB: paperless + POSTGRES_USER: paperless + POSTGRES_PASSWORD: paperless + networks: + - internal + + webserver: + image: ghcr.io/paperless-ngx/paperless-ngx:latest + container_name: paperless-app + restart: unless-stopped + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8000"] + interval: 30s + timeout: 10s + retries: 5 + volumes: + - /mnt/SSD500/docker/paperless/data:/usr/src/paperless/data + - /mnt/SSD500/docker/paperless/media:/usr/src/paperless/media + - /mnt/SSD500/docker/paperless/export:/usr/src/paperless/export + - /mnt/SSD500/docker/paperless/consume:/usr/src/paperless/consume + environment: + PAPERLESS_URL: https://paperless.lino.cooking + PAPERLESS_REDIS: redis://paperless-broker:6379 + PAPERLESS_DBHOST: paperless-db +# The UID and GID of the user used to run paperless in the container. Set this +# to your UID and GID on the host so that you have write access to the +# consumption directory. + USERMAP_UID: 1000 + USERMAP_GID: 100 +# Additional languages to install for text recognition, separated by a +# whitespace. Note that this is +# different from PAPERLESS_OCR_LANGUAGE (default=eng), which defines the +# language used for OCR. +# The container installs English, German, Italian, Spanish and French by +# default. +# See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster +# for available languages. + PAPERLESS_OCR_LANGUAGES: eng por +# Adjust this key if you plan to make paperless available publicly. It should +# be a very long sequence of random characters. You don't need to remember it. + PAPERLESS_SECRET_KEY: '*TRpc9dY4iH!#vuk$URPcqVwW*LV$MCFPtL^Lc3z7H^zT^Z&P3' + PAPERLESS_TIME_ZONE: Europe/Lisbon + + networks: + - reverse-proxy + - internal + +networks: + internal: + internal: true + reverse-proxy: + external: true \ No newline at end of file diff --git a/portainer/docker-compose.yml b/portainer/docker-compose.yml new file mode 100644 index 0000000..006bbd4 --- /dev/null +++ b/portainer/docker-compose.yml @@ -0,0 +1,18 @@ +version: "3.8" + +services: + portainer: + image: portainer/portainer-ee + container_name: portainer + restart: always + ports: + - 9000:9000 + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /mnt/SSD500/docker/portainer/data:/data + networks: + - reverse-proxy + +networks: + reverse-proxy: + external: true \ No newline at end of file diff --git a/satisfactory-server/docker-compose.yml b/satisfactory-server/docker-compose.yml new file mode 100644 index 0000000..b350bdd --- /dev/null +++ b/satisfactory-server/docker-compose.yml @@ -0,0 +1,19 @@ +version: '3' +services: + satisfactory-server: + container_name: 'satisfactory-server' + hostname: 'satisfactory-server' + image: 'wolveix/satisfactory-server:latest' + ports: + - '7777:7777/udp' + - '15000:15000/udp' + - '15777:15777/udp' + volumes: + - '/mnt/SSD500/docker/satisfactory/:/config' + environment: + - MAXPLAYERS=4 + - PGID=1000 + - PUID=1000 + - STEAMBETA=false + - AUTOPAUSE=false + restart: unless-stopped diff --git a/swag/docker-compose.yml b/swag/docker-compose.yml new file mode 100644 index 0000000..567255a --- /dev/null +++ b/swag/docker-compose.yml @@ -0,0 +1,45 @@ +version: "3.1" +services: + swag: + image: ghcr.io/linuxserver/swag + container_name: swag + cap_add: + - NET_ADMIN + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Lisbon + - URL=lino.cooking + - SUBDOMAINS=wildcard + - VALIDATION=dns + - DNSPLUGIN=cloudflare + - EMAIL=okulto+swag@gmail.com + - ONLY_SUBDOMAINS=false + - MAXMINDDB_LICENSE_KEY=5sfHzlxz9pXsvrlz + - DOCKER_MODS=linuxserver/mods:swag-dashboard + + volumes: + - /mnt/SSD500/docker/swag:/config + ports: + - 443:443 + - 80:80 + restart: unless-stopped + networks: + - reverse-proxy + + authelia: + image: authelia/authelia:latest + container_name: authelia + environment: + - TZ=Europe/Lisbon + ports: + - 9091:9091 + volumes: + - /mnt/SSD500/docker/authelia:/config + restart: unless-stopped + networks: + - reverse-proxy + +networks: + reverse-proxy: + external: true \ No newline at end of file diff --git a/vaultwarden/docker-compose.yml b/vaultwarden/docker-compose.yml new file mode 100644 index 0000000..56157f4 --- /dev/null +++ b/vaultwarden/docker-compose.yml @@ -0,0 +1,14 @@ +version: "3.1" +services: + app: + image: vaultwarden/server:latest + container_name: vaultwarden + restart: always + volumes: + - /mnt/SSD500/docker/bitwarden:/data + networks: + - reverse-proxy + +networks: + reverse-proxy: + external: true \ No newline at end of file