From 4ad268a2c8ef64ef13019af1d850f5f718369b84 Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 8 Jun 2024 23:04:31 +0200 Subject: [PATCH 01/48] statics bazarr --- bazarr/docker-compose.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bazarr/docker-compose.yml b/bazarr/docker-compose.yml index 41ef6c2..0afb8ff 100644 --- a/bazarr/docker-compose.yml +++ b/bazarr/docker-compose.yml @@ -10,7 +10,8 @@ services: volumes: # - /path/to/bazarr/config:/config # - /path/to/movies:/movies #optional - # - /path/to/tv:/tv #optional + - nfs_data/film:/movies #optional + - nfs_data/tv:/tv #optional - '/srv/bazarr:/config' - "nfs_data:/shares" ports: From 36baf17ff10a1586e04342cdf3ade0cdc17b9e24 Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 8 Jun 2024 23:09:10 +0200 Subject: [PATCH 02/48] statics bazarr --- bazarr/docker-compose.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bazarr/docker-compose.yml b/bazarr/docker-compose.yml index 0afb8ff..29d758a 100644 --- a/bazarr/docker-compose.yml +++ b/bazarr/docker-compose.yml @@ -10,10 +10,10 @@ services: volumes: # - /path/to/bazarr/config:/config # - /path/to/movies:/movies #optional - - nfs_data/film:/movies #optional - - nfs_data/tv:/tv #optional + # - nfs_data/film:/movies #optional + - nfs_tv_data:/tv #optional - '/srv/bazarr:/config' - - "nfs_data:/shares" + # - "nfs_data:/shares" ports: - 6767:6767 restart: unless-stopped @@ -28,7 +28,7 @@ services: volumes: - nfs_data: + nfs_tv_data: external: true networks: From 0462bddd166be51c3b3030695094a2942d873343 Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 8 Jun 2024 23:27:36 +0200 Subject: [PATCH 03/48] sonarr --- sonarr/.env | 2 ++ sonarr/docker-compose.yml | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 sonarr/.env create mode 100644 sonarr/docker-compose.yml diff --git a/sonarr/.env b/sonarr/.env new file mode 100644 index 0000000..be9448c --- /dev/null +++ b/sonarr/.env @@ -0,0 +1,2 @@ +DOMAIN_NAME=knast.cc +DEFAULT_NETWORK=traefik diff --git a/sonarr/docker-compose.yml b/sonarr/docker-compose.yml new file mode 100644 index 0000000..f1db4e9 --- /dev/null +++ b/sonarr/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.6' +services: + sonarr: + image: lscr.io/linuxserver/sonarr:latest + container_name: sonarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=Etc/UTC + volumes: + - /srv/sonarr:/config + - nfs_tv_data:/tv + # - /path/to/downloadclient-downloads:/downloads #optional + ports: + - 8989:8989 + restart: unless-stopped + + +volumes: + nfs_tv_data: + external: true + +networks: + traefik: + external: true \ No newline at end of file From 75301f2aa11b35496a0373354e4bd180d4d48016 Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 17 Jul 2024 12:53:26 +0200 Subject: [PATCH 04/48] trying traefik 3.1 --- bazarr/docker-compose.yml | 14 +++++++------- traefik/docker-compose.yml | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/bazarr/docker-compose.yml b/bazarr/docker-compose.yml index 29d758a..ff3ea66 100644 --- a/bazarr/docker-compose.yml +++ b/bazarr/docker-compose.yml @@ -18,13 +18,13 @@ services: - 6767:6767 restart: unless-stopped - labels: - - "traefik.enable=true" - - "traefik.http.routers.bazarr.tls=true" - - "traefik.http.routers.bazarr.entrypoints=websecure" - - "traefik.http.routers.bazarr.rule=Host(`bazarr.$DOMAIN_NAME`)" - - "traefik.http.routers.bazarr.tls.certresolver=letsencr" - - "traefik.http.services.bazarr.loadbalancer.server.port=6767" + # labels: + # - "traefik.enable=true" + # - "traefik.http.routers.bazarr.tls=true" + # - "traefik.http.routers.bazarr.entrypoints=websecure" + # - "traefik.http.routers.bazarr.rule=Host(`bazarr.$DOMAIN_NAME`)" + # - "traefik.http.routers.bazarr.tls.certresolver=letsencr" + # - "traefik.http.services.bazarr.loadbalancer.server.port=6767" volumes: diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 78be7cc..0455bec 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: traefik: - image: "traefik:v2.3" + image: "traefik:v3.1" container_name: "traefik" hostname: "traefik" env_file: @@ -11,7 +11,7 @@ services: ports: - "80:80" - "443:443" - - "8080:8080" + # - "8080:8080" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" @@ -24,7 +24,7 @@ services: restart: unless-stopped labels: - "traefik.enable=true" - - "traefik.port=8080" + # - "traefik.port=8080" # - "traefik.http.routers.traefiks.entrypoints=websecure" # - "traefik.http.routers.traefiks.rule=Host(`monitor.$DOMAIN_NAME`)" # - "traefik.http.routers.traefiks.tls.certresolver=letsencr" From 6d38bdfe4a18ee4200e1f4781b08391a3c91c481 Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 17 Jul 2024 13:00:31 +0200 Subject: [PATCH 05/48] trying traefik 3.1 --- gitlab/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitlab/docker-compose.yml b/gitlab/docker-compose.yml index b63fb6f..6d5650d 100644 --- a/gitlab/docker-compose.yml +++ b/gitlab/docker-compose.yml @@ -18,7 +18,7 @@ services: labels: - "traefik.enable=true" - "traefik.http.routers.gitlab.entrypoints=websecure" - - "traefik.http.routers.gitlab.rule=Host(`gitlab.$DOMAIN_NAME`, `registry.gitlab.$DOMAIN_NAME`)" + - "traefik.http.routers.gitlab.rule=Host(`gitlab.$DOMAIN_NAME`)" - "traefik.http.routers.gitlab.tls.certresolver=letsencr" - "traefik.http.services.gitlab.loadbalancer.server.port=80" volumes: From d402679b5bebca5029884aa7af6b4360fe7544f1 Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 17 Jul 2024 15:48:51 +0200 Subject: [PATCH 06/48] trying traefik 3.1 --- traefik/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 0455bec..9f4ca6d 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: traefik: - image: "traefik:v3.1" + image: "traefik:v2.4" container_name: "traefik" hostname: "traefik" env_file: From ceef8b7115ef7a8d5ce0fe1f90ea46a402f5609c Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 17 Jul 2024 16:05:00 +0200 Subject: [PATCH 07/48] trying traefik 3.1 --- ddclient/docker-compose.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 ddclient/docker-compose.yml diff --git a/ddclient/docker-compose.yml b/ddclient/docker-compose.yml new file mode 100644 index 0000000..f761d8c --- /dev/null +++ b/ddclient/docker-compose.yml @@ -0,0 +1,19 @@ +version: "3" + +services: + ddclient: + image: lscr.io/linuxserver/ddclient:latest + container_name: ddclient + environment: + - PUID=1000 + - PGID=1000 + - TZ=Etc/UTC + volumes: + - /etc/ddclient/ddclient.conf:/config + restart: unless-stopped + labels: + - "traefik.enable=true" + +networks: + traefik: + external: true \ No newline at end of file From 8f5c555309f2fe256d07c25b0200088dfdbcc3d1 Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 17 Jul 2024 16:06:42 +0200 Subject: [PATCH 08/48] trying traefik 3.1 --- ddclient/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ddclient/docker-compose.yml b/ddclient/docker-compose.yml index f761d8c..3dbb165 100644 --- a/ddclient/docker-compose.yml +++ b/ddclient/docker-compose.yml @@ -9,7 +9,7 @@ services: - PGID=1000 - TZ=Etc/UTC volumes: - - /etc/ddclient/ddclient.conf:/config + - /etc/ddclient/:/config restart: unless-stopped labels: - "traefik.enable=true" From 67e33811bb686a22d5521377292a049513c246f5 Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 17 Jul 2024 16:07:39 +0200 Subject: [PATCH 09/48] trying traefik 3.1 --- ddclient/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ddclient/docker-compose.yml b/ddclient/docker-compose.yml index 3dbb165..58deafe 100644 --- a/ddclient/docker-compose.yml +++ b/ddclient/docker-compose.yml @@ -9,7 +9,7 @@ services: - PGID=1000 - TZ=Etc/UTC volumes: - - /etc/ddclient/:/config + - /etc/ddclient:/config restart: unless-stopped labels: - "traefik.enable=true" From bcabb5929a15e939aa507fbfef57944a057cc749 Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 17 Jul 2024 17:16:33 +0200 Subject: [PATCH 10/48] trying traefik 2.1 --- traefik/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 9f4ca6d..1daacdf 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: traefik: - image: "traefik:v2.4" + image: "traefik:v2.1" container_name: "traefik" hostname: "traefik" env_file: From 4a217ac304388b8ee3a1d5b90fdb393bb9ebcdf8 Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 17 Jul 2024 17:19:20 +0200 Subject: [PATCH 11/48] trying traefik 2.1 --- traefik/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 1daacdf..22f2c96 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: traefik: - image: "traefik:v2.1" + image: "traefik:v2.3.4" container_name: "traefik" hostname: "traefik" env_file: From 063539cc92bb4404265e03bd6ca0cdf5eea209c7 Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 17 Jul 2024 17:27:44 +0200 Subject: [PATCH 12/48] trying traefik 2.1 --- traefik/traefik.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/traefik/traefik.yml b/traefik/traefik.yml index 20dd3ba..1118cc7 100644 --- a/traefik/traefik.yml +++ b/traefik/traefik.yml @@ -27,8 +27,8 @@ providers: certificatesResolvers: letsencr: acme: - storage: 'acme.json' - # storage: '/letsencrypt/acme.json' + # storage: 'acme.json' + storage: '/letsencrypt/acme.json' email: stokogsten@gmail.com httpChallenge: entryPoint: web From 71048e7113d829436a9e859b3f1b05168c03266a Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 17 Jul 2024 17:46:17 +0200 Subject: [PATCH 13/48] trying traefik 2.1 --- traefik/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 22f2c96..1daacdf 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: traefik: - image: "traefik:v2.3.4" + image: "traefik:v2.1" container_name: "traefik" hostname: "traefik" env_file: From 5d1364105821a06157ec533df78442778538dfdb Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 17 Jul 2024 19:30:18 +0200 Subject: [PATCH 14/48] trying traefik 2.1 --- traefik/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 1daacdf..37cdcbb 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -17,7 +17,7 @@ services: - "/var/run/docker.sock:/var/run/docker.sock:ro" - "./traefik.yml:/traefik.yml:ro" - /var/log/traefik/:/opt/traefik/logs - - /etc/letsencrypt/:/etc/letsencrypt/ + - /srv/traefik/letsencrypt/:/etc/letsencrypt/ command: - --api.insecure=false # - --api.insecure=true From 04bf928d8bd45ba48071c2f70e23b6803b749e56 Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 17 Jul 2024 20:11:59 +0200 Subject: [PATCH 15/48] trying traefik 2.1 --- traefik/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 37cdcbb..75c2d26 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -17,7 +17,7 @@ services: - "/var/run/docker.sock:/var/run/docker.sock:ro" - "./traefik.yml:/traefik.yml:ro" - /var/log/traefik/:/opt/traefik/logs - - /srv/traefik/letsencrypt/:/etc/letsencrypt/ + - /srv/traefik/letsencrypt/acme.json:/etc/letsencrypt/acme.json command: - --api.insecure=false # - --api.insecure=true From 283b5c04dd6e33e392fd0f7c7d9227078221a246 Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 17 Jul 2024 20:19:45 +0200 Subject: [PATCH 16/48] trying traefik 2.1 --- traefik/traefik.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/traefik.yml b/traefik/traefik.yml index 1118cc7..b490058 100644 --- a/traefik/traefik.yml +++ b/traefik/traefik.yml @@ -28,7 +28,7 @@ certificatesResolvers: letsencr: acme: # storage: 'acme.json' - storage: '/letsencrypt/acme.json' + storage: '/etc/letsencrypt/acme.json' email: stokogsten@gmail.com httpChallenge: entryPoint: web From 8ceaf4f5cb024676fcf66f1aa6a02cdaaebfd368 Mon Sep 17 00:00:00 2001 From: msnie Date: Tue, 23 Jul 2024 18:16:38 +0200 Subject: [PATCH 17/48] trying traefik 2.1 --- traefik/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 75c2d26..9013a5a 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: traefik: - image: "traefik:v2.1" + image: "traefik:v2.4" container_name: "traefik" hostname: "traefik" env_file: From d45db0ce2f6b835380c5877d103cb27d0e6928dd Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 24 Jul 2024 23:15:49 +0200 Subject: [PATCH 18/48] trying traefik 2.1 --- traefik/docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 9013a5a..31e8019 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -11,7 +11,7 @@ services: ports: - "80:80" - "443:443" - # - "8080:8080" + - "8080:8080" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" @@ -19,8 +19,8 @@ services: - /var/log/traefik/:/opt/traefik/logs - /srv/traefik/letsencrypt/acme.json:/etc/letsencrypt/acme.json command: - - --api.insecure=false - # - --api.insecure=true + # - --api.insecure=false + - --api.insecure=true restart: unless-stopped labels: - "traefik.enable=true" From bdd13f47cfd5f0d44827ebe6cd8231d717e421b7 Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 24 Jul 2024 23:30:22 +0200 Subject: [PATCH 19/48] trying traefik 2.1 --- traefik/docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 31e8019..d44d8e2 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -6,6 +6,8 @@ services: image: "traefik:v2.4" container_name: "traefik" hostname: "traefik" + networks: + - traefik env_file: - .env ports: From 0ffd93e856d07b21ad6fe1315dd73e8fd2984659 Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 24 Jul 2024 23:32:41 +0200 Subject: [PATCH 20/48] trying traefik 2.1 --- traefik/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index d44d8e2..8fb8da3 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -26,7 +26,7 @@ services: restart: unless-stopped labels: - "traefik.enable=true" - # - "traefik.port=8080" + - "traefik.port=8080" # - "traefik.http.routers.traefiks.entrypoints=websecure" # - "traefik.http.routers.traefiks.rule=Host(`monitor.$DOMAIN_NAME`)" # - "traefik.http.routers.traefiks.tls.certresolver=letsencr" From 1f5a3e656d113b5f66ab9785daf6f38998928929 Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 24 Jul 2024 23:36:18 +0200 Subject: [PATCH 21/48] trying traefik 2.1 --- traefik/traefik.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/traefik/traefik.yml b/traefik/traefik.yml index b490058..c5f3979 100644 --- a/traefik/traefik.yml +++ b/traefik/traefik.yml @@ -9,9 +9,9 @@ accessLog: serversTransport: insecureSkipVerify: true -# api: -# insecure: true -# dashboard: false +api: + insecure: true + dashboard: false entryPoints: web: From 90919623b9954462a577012bdd23b43ae3a1c618 Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 24 Jul 2024 23:38:40 +0200 Subject: [PATCH 22/48] trying traefik 2.1 --- traefik/traefik.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/traefik.yml b/traefik/traefik.yml index c5f3979..d1cb7fc 100644 --- a/traefik/traefik.yml +++ b/traefik/traefik.yml @@ -1,6 +1,6 @@ ## STATIC CONFIGURATION log: - level: INFO + level: DEBUG filePath: /opt/traefik/logs/system.log format: json accessLog: From 8e3b89f6cad0324eaedb3165191887a9904f83be Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 24 Jul 2024 23:42:38 +0200 Subject: [PATCH 23/48] trying traefik 2.1 --- traefik/docker-compose.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 8fb8da3..cdac10a 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -13,20 +13,20 @@ services: ports: - "80:80" - "443:443" - - "8080:8080" + # - "8080:8080" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" - "./traefik.yml:/traefik.yml:ro" - /var/log/traefik/:/opt/traefik/logs - /srv/traefik/letsencrypt/acme.json:/etc/letsencrypt/acme.json - command: + # command: # - --api.insecure=false - - --api.insecure=true + # - --api.insecure=true restart: unless-stopped labels: - "traefik.enable=true" - - "traefik.port=8080" + # - "traefik.port=8080" # - "traefik.http.routers.traefiks.entrypoints=websecure" # - "traefik.http.routers.traefiks.rule=Host(`monitor.$DOMAIN_NAME`)" # - "traefik.http.routers.traefiks.tls.certresolver=letsencr" From 2d4eba9a9548bdd43c8b4daf2bcee798e96153f0 Mon Sep 17 00:00:00 2001 From: msnie Date: Wed, 24 Jul 2024 23:50:47 +0200 Subject: [PATCH 24/48] trying traefik 2.1 --- traefik/docker-compose.yml | 3 ++- traefik/traefik.yml | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index cdac10a..99c1631 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -3,7 +3,8 @@ version: "3" services: traefik: - image: "traefik:v2.4" + # image: "traefik:v2.4" + image: "traefik:v3.1" container_name: "traefik" hostname: "traefik" networks: diff --git a/traefik/traefik.yml b/traefik/traefik.yml index d1cb7fc..97e1584 100644 --- a/traefik/traefik.yml +++ b/traefik/traefik.yml @@ -9,9 +9,9 @@ accessLog: serversTransport: insecureSkipVerify: true -api: - insecure: true - dashboard: false +# api: +# insecure: true +# dashboard: false entryPoints: web: From 2516717d1a1bed46e7f14acd4e83c9f9dd07379a Mon Sep 17 00:00:00 2001 From: msnie Date: Thu, 25 Jul 2024 00:05:35 +0200 Subject: [PATCH 25/48] trying traefik 2.1 --- plex/docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/plex/docker-compose.yml b/plex/docker-compose.yml index 16b0ef0..2e5cc57 100644 --- a/plex/docker-compose.yml +++ b/plex/docker-compose.yml @@ -33,6 +33,7 @@ services: - traefik.enable=true - "traefik.http.routers.plex.entrypoints=websecure" - "traefik.http.routers.plex.rule=Host(`plex.$DOMAIN_NAME`)" + - "traefik.http.routers.plex.tls=true" - "traefik.http.routers.plex.tls.certresolver=letsencr" - "traefik.http.services.plex.loadbalancer.server.port=32400" From 1401cc8381aab724a10aae7cc3515fe8fac49844 Mon Sep 17 00:00:00 2001 From: msnie Date: Thu, 25 Jul 2024 10:24:49 +0200 Subject: [PATCH 26/48] trying traefik 2.1 --- traefik/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 99c1631..30e64a5 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -20,7 +20,7 @@ services: - "/var/run/docker.sock:/var/run/docker.sock:ro" - "./traefik.yml:/traefik.yml:ro" - /var/log/traefik/:/opt/traefik/logs - - /srv/traefik/letsencrypt/acme.json:/etc/letsencrypt/acme.json + - /srv/traefik/letsencrypt:/etc/letsencrypt # command: # - --api.insecure=false # - --api.insecure=true From 3bd1ace0c093b9af940163e5a5f3f8911cf79123 Mon Sep 17 00:00:00 2001 From: msnie Date: Thu, 25 Jul 2024 10:34:56 +0200 Subject: [PATCH 27/48] trying traefik 2.1 --- traefik/traefik.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/traefik.yml b/traefik/traefik.yml index 97e1584..b490058 100644 --- a/traefik/traefik.yml +++ b/traefik/traefik.yml @@ -1,6 +1,6 @@ ## STATIC CONFIGURATION log: - level: DEBUG + level: INFO filePath: /opt/traefik/logs/system.log format: json accessLog: From 4038cdbdb9e877717b0cd48555f98524dcb25e17 Mon Sep 17 00:00:00 2001 From: msnie Date: Thu, 25 Jul 2024 10:35:13 +0200 Subject: [PATCH 28/48] trying traefik 3.1 --- traefik/traefik.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/traefik/traefik.yml b/traefik/traefik.yml index b490058..3f4e2d9 100644 --- a/traefik/traefik.yml +++ b/traefik/traefik.yml @@ -27,7 +27,6 @@ providers: certificatesResolvers: letsencr: acme: - # storage: 'acme.json' storage: '/etc/letsencrypt/acme.json' email: stokogsten@gmail.com httpChallenge: From d69812b92d16758c22de3b9c470b80f52602324b Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 27 Jul 2024 20:39:49 +0200 Subject: [PATCH 29/48] immich --- immich/docker-compose.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index 1b41247..2b8144d 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -5,7 +5,7 @@ services: networks: - traefik container_name: immich_server - image: ghcr.io/immich-app/immich-server:release + image: ghcr.io/immich-app/immich-server:latest entrypoint: ["/bin/sh", "./start-server.sh"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload @@ -21,7 +21,7 @@ services: networks: - traefik container_name: immich_microservices - image: ghcr.io/immich-app/immich-server:release + image: ghcr.io/immich-app/immich-server:latest entrypoint: ["/bin/sh", "./start-microservices.sh"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload @@ -37,7 +37,7 @@ services: networks: - traefik container_name: immich_machine_learning - image: ghcr.io/immich-app/immich-machine-learning:release + image: ghcr.io/immich-app/immich-machine-learning:latest volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /srv/immich/model-cache:/cache @@ -49,7 +49,7 @@ services: networks: - traefik container_name: immich_web - image: ghcr.io/immich-app/immich-web:release + image: ghcr.io/immich-app/immich-web:latest entrypoint: ["/bin/sh", "./entrypoint.sh"] env_file: - .env From 1f33c2d69df092b238c67744d235464d91682d84 Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 27 Jul 2024 20:47:24 +0200 Subject: [PATCH 30/48] immich --- immich/.env | 2 +- immich/docker-compose.yml | 262 +++++++++++++++++++++++--------------- 2 files changed, 157 insertions(+), 107 deletions(-) diff --git a/immich/.env b/immich/.env index a0555b1..6dbe5ab 100644 --- a/immich/.env +++ b/immich/.env @@ -47,7 +47,7 @@ UPLOAD_LOCATION=/srv/immich/uploads ################################################################################### # Typesense ################################################################################### -TYPESENSE_API_KEY=a897scf-ac8c3aghjfghk-567cvhdf3odjkfg +TYPESENSE_API_KEY=a897scf-ac8c3aghjfghafwfgr44k-567cvhdf3odjkfg # TYPESENSE_ENABLED=false # TYPESENSE_URL uses base64 encoding for the nodes json. # Example JSON that was used: diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index 2b8144d..d8c17c4 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -1,119 +1,169 @@ version: "3.8" +# services: +# immich-server: +# networks: +# - traefik +# container_name: immich_server +# image: ghcr.io/immich-app/immich-server:latest +# entrypoint: ["/bin/sh", "./start-server.sh"] +# volumes: +# - ${UPLOAD_LOCATION}:/usr/src/app/upload +# env_file: +# - .env +# depends_on: +# - redis +# - database +# - typesense +# restart: always + +# immich-microservices: +# networks: +# - traefik +# container_name: immich_microservices +# image: ghcr.io/immich-app/immich-server:latest +# entrypoint: ["/bin/sh", "./start-microservices.sh"] +# volumes: +# - ${UPLOAD_LOCATION}:/usr/src/app/upload +# env_file: +# - .env +# depends_on: +# - redis +# - database +# - typesense +# restart: always + +# immich-machine-learning: +# networks: +# - traefik +# container_name: immich_machine_learning +# image: ghcr.io/immich-app/immich-machine-learning:latest +# volumes: +# - ${UPLOAD_LOCATION}:/usr/src/app/upload +# - /srv/immich/model-cache:/cache +# env_file: +# - .env +# restart: always + +# immich-web: +# networks: +# - traefik +# container_name: immich_web +# image: ghcr.io/immich-app/immich-web:latest +# entrypoint: ["/bin/sh", "./entrypoint.sh"] +# env_file: +# - .env +# restart: always +# labels: +# - traefik.enable=true +# - "traefik.http.routers.imm.entrypoints=websecure" +# - "traefik.http.routers.imm.rule=Host(`imm.$DOMAIN_NAME`)" +# - "traefik.http.routers.imm.tls.certresolver=letsencr" +# # - "traefik.http.services.imm.loadbalancer.server.port=32400" + +# typesense: +# networks: +# - traefik +# container_name: immich_typesense +# image: typesense/typesense:0.24.0 +# environment: +# - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} +# - TYPESENSE_DATA_DIR=/data +# logging: +# driver: none +# volumes: +# - /srv/immich/tsdata:/data +# restart: always + +# redis: +# container_name: immich_redis +# image: redis:6.2 +# networks: +# - traefik +# restart: always + +# database: +# networks: +# - traefik +# container_name: immich_postgres +# image: postgres:14 +# env_file: +# - .env +# environment: +# POSTGRES_PASSWORD: ${DB_PASSWORD} +# POSTGRES_USER: ${DB_USERNAME} +# POSTGRES_DB: ${DB_DATABASE_NAME} +# PG_DATA: /var/lib/postgresql/data +# volumes: +# - /srv/immich/pgdata:/var/lib/postgresql/data +# restart: always + +# immich-proxy: +# networks: +# - traefik +# container_name: immich_proxy +# image: ghcr.io/immich-app/immich-proxy:release +# environment: +# # Make sure these values get passed through from the env file +# - IMMICH_SERVER_URL +# - IMMICH_WEB_URL +# ports: +# - 2283:8080 +# logging: +# driver: none +# depends_on: +# - immich-server +# restart: always + + services: - immich-server: - networks: - - traefik - container_name: immich_server - image: ghcr.io/immich-app/immich-server:latest - entrypoint: ["/bin/sh", "./start-server.sh"] - volumes: - - ${UPLOAD_LOCATION}:/usr/src/app/upload - env_file: - - .env - depends_on: - - redis - - database - - typesense - restart: always - - immich-microservices: - networks: - - traefik - container_name: immich_microservices - image: ghcr.io/immich-app/immich-server:latest - entrypoint: ["/bin/sh", "./start-microservices.sh"] - volumes: - - ${UPLOAD_LOCATION}:/usr/src/app/upload - env_file: - - .env - depends_on: - - redis - - database - - typesense - restart: always - - immich-machine-learning: - networks: - - traefik - container_name: immich_machine_learning - image: ghcr.io/immich-app/immich-machine-learning:latest - volumes: - - ${UPLOAD_LOCATION}:/usr/src/app/upload - - /srv/immich/model-cache:/cache - env_file: - - .env - restart: always - - immich-web: - networks: - - traefik - container_name: immich_web - image: ghcr.io/immich-app/immich-web:latest - entrypoint: ["/bin/sh", "./entrypoint.sh"] - env_file: - - .env - restart: always - labels: - - traefik.enable=true - - "traefik.http.routers.imm.entrypoints=websecure" - - "traefik.http.routers.imm.rule=Host(`imm.$DOMAIN_NAME`)" - - "traefik.http.routers.imm.tls.certresolver=letsencr" - # - "traefik.http.services.imm.loadbalancer.server.port=32400" - - typesense: - networks: - - traefik - container_name: immich_typesense - image: typesense/typesense:0.24.0 + immich: + image: ghcr.io/imagegenius/immich:latest + container_name: immich environment: - - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} - - TYPESENSE_DATA_DIR=/data - logging: - driver: none + - PUID=1000 + - PGID=1000 + - TZ=Etc/UTC + - DB_HOSTNAME=postgres14 + - DB_USERNAME=postgres + - DB_PASSWORD=a897scf-ac8c3aghjfghafwfgr44k-567cvhdf3odjkfg + - DB_DATABASE_NAME=immich + - REDIS_HOSTNAME=redis + # - DB_PORT=5432 #optional + # - REDIS_PORT=6379 #optional + # - REDIS_PASSWORD= #optional + # - MACHINE_LEARNING_HOST=0.0.0.0 #optional + # - MACHINE_LEARNING_PORT=3003 #optional + # - MACHINE_LEARNING_WORKERS=1 #optional + # - MACHINE_LEARNING_WORKER_TIMEOUT=120 #optional volumes: - - /srv/immich/tsdata:/data - restart: always + - /srv/immich/config:/config + - /srv/immich/uploads:/photos + # - path_to_libraries:/libraries #optional + ports: + - 8080:8080 + restart: unless-stopped +# This container requires an external application to be run separately. +# By default, ports for the databases are opened, be careful when deploying it +# Redis: redis: - container_name: immich_redis - image: redis:6.2 - networks: - - traefik - restart: always - - database: - networks: - - traefik - container_name: immich_postgres - image: postgres:14 - env_file: - - .env + image: redis + ports: + - 6379:6379 + container_name: redis +# PostgreSQL 14: + postgres14: + image: tensorchord/pgvecto-rs:pg14-v0.2.0 + ports: + - 5432:5432 + container_name: postgres14 environment: - POSTGRES_PASSWORD: ${DB_PASSWORD} - POSTGRES_USER: ${DB_USERNAME} - POSTGRES_DB: ${DB_DATABASE_NAME} - PG_DATA: /var/lib/postgresql/data + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: immich volumes: - /srv/immich/pgdata:/var/lib/postgresql/data - restart: always - - immich-proxy: - networks: - - traefik - container_name: immich_proxy - image: ghcr.io/immich-app/immich-proxy:release - environment: - # Make sure these values get passed through from the env file - - IMMICH_SERVER_URL - - IMMICH_WEB_URL - ports: - - 2283:8080 - logging: - driver: none - depends_on: - - immich-server - restart: always # volumes: # pgdata: From 6156381730d6fb6a583081b590ad1b7170718cf6 Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 27 Jul 2024 20:52:37 +0200 Subject: [PATCH 31/48] immich --- immich/docker-compose.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index d8c17c4..47e7303 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -120,6 +120,14 @@ services: immich: image: ghcr.io/imagegenius/immich:latest container_name: immich + networks: + - traefik + labels: + - traefik.enable=true + - "traefik.http.routers.imm.entrypoints=websecure" + - "traefik.http.routers.imm.rule=Host(`imm.$DOMAIN_NAME`)" + - "traefik.http.routers.imm.tls.certresolver=letsencr" + - "traefik.http.services.imm.loadbalancer.server.port=7878" environment: - PUID=1000 - PGID=1000 @@ -141,23 +149,28 @@ services: - /srv/immich/uploads:/photos # - path_to_libraries:/libraries #optional ports: - - 8080:8080 + - 7878:8080 restart: unless-stopped # This container requires an external application to be run separately. # By default, ports for the databases are opened, be careful when deploying it # Redis: redis: + networks: + - traefik image: redis ports: - 6379:6379 container_name: redis + # PostgreSQL 14: postgres14: image: tensorchord/pgvecto-rs:pg14-v0.2.0 ports: - 5432:5432 container_name: postgres14 + networks: + - traefik environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres From 2f60129f503d67c82f5e2fb3268d0abfd4131f00 Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 27 Jul 2024 20:55:39 +0200 Subject: [PATCH 32/48] immich --- immich/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index 47e7303..57a0bc4 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -173,7 +173,7 @@ services: - traefik environment: POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres + POSTGRES_PASSWORD: a897scf-ac8c3aghjfghafwfgr44k-567cvhdf3odjkfg POSTGRES_DB: immich volumes: - /srv/immich/pgdata:/var/lib/postgresql/data From d9b67cfbdab35d9ae91039addfa3d6e18bfbdb1c Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 27 Jul 2024 20:58:21 +0200 Subject: [PATCH 33/48] immich --- immich/docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index 57a0bc4..8842c22 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -132,7 +132,7 @@ services: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - - DB_HOSTNAME=postgres14 + - DB_HOSTNAME=database - DB_USERNAME=postgres - DB_PASSWORD=a897scf-ac8c3aghjfghafwfgr44k-567cvhdf3odjkfg - DB_DATABASE_NAME=immich @@ -164,11 +164,11 @@ services: container_name: redis # PostgreSQL 14: - postgres14: + database: image: tensorchord/pgvecto-rs:pg14-v0.2.0 ports: - 5432:5432 - container_name: postgres14 + container_name: database networks: - traefik environment: From c88804969d90bc168f27ec21a06a729255f84e78 Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 27 Jul 2024 21:10:06 +0200 Subject: [PATCH 34/48] immich --- immich/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index 8842c22..4dceb04 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -132,10 +132,10 @@ services: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - - DB_HOSTNAME=database + - DB_HOSTNAME=192.168.1.x - DB_USERNAME=postgres - DB_PASSWORD=a897scf-ac8c3aghjfghafwfgr44k-567cvhdf3odjkfg - - DB_DATABASE_NAME=immich + - DB_DATABASE_NAME=192.168.1.x - REDIS_HOSTNAME=redis # - DB_PORT=5432 #optional # - REDIS_PORT=6379 #optional From 84eb64b91851b6e0a15a28b36e262a3aa6428e9b Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 27 Jul 2024 21:20:59 +0200 Subject: [PATCH 35/48] immich --- immich/docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index 4dceb04..ce55320 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -132,10 +132,10 @@ services: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - - DB_HOSTNAME=192.168.1.x + - DB_HOSTNAME=database - DB_USERNAME=postgres - DB_PASSWORD=a897scf-ac8c3aghjfghafwfgr44k-567cvhdf3odjkfg - - DB_DATABASE_NAME=192.168.1.x + - DB_DATABASE_NAME=immich - REDIS_HOSTNAME=redis # - DB_PORT=5432 #optional # - REDIS_PORT=6379 #optional @@ -157,7 +157,7 @@ services: # Redis: redis: networks: - - traefik + - traefik image: redis ports: - 6379:6379 From c737b459ae7c69f739c6274200c8e877ae3d4e36 Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 27 Jul 2024 21:38:55 +0200 Subject: [PATCH 36/48] immich --- immich/.env | 210 +++++++++++--------- immich/docker-compose.yml | 401 ++++++++++++++++++++++---------------- 2 files changed, 354 insertions(+), 257 deletions(-) diff --git a/immich/.env b/immich/.env index 6dbe5ab..e9e1448 100644 --- a/immich/.env +++ b/immich/.env @@ -1,107 +1,131 @@ -################################################################################### -# Database -################################################################################### -# NOTE: The following four database variables support Docker secrets by adding a *_FILE suffix to the variable name -# See the docker-compose documentation on secrets for additional details: https://docs.docker.com/compose/compose-file/compose-file-v3/#secrets -DB_HOSTNAME=immich_postgres -DB_USERNAME=postgres +# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables + +# The location where your uploaded files are stored +UPLOAD_LOCATION=/srv/immich/uploads +# The location where your database files are stored +DB_DATA_LOCATION=/srv/immich/pgdata + +# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List +# TZ=Etc/UTC + +# The Immich version to use. You can pin this to a specific version like "v1.71.0" +IMMICH_VERSION=release + +# Connection secret for postgres. You should change it to a random password DB_PASSWORD=postgres_kaf9asfjkas8asfhjasf333 + +# The values below this line do not need to be changed +################################################################################### +DB_USERNAME=postgres DB_DATABASE_NAME=immich -# Optional Database settings: -# DB_PORT=5432 - -################################################################################### -# Redis -################################################################################### - -REDIS_HOSTNAME=immich_redis - -# REDIS_URL will be used to pass custom options to ioredis. -# Example for Sentinel -# {"sentinels":[{"host":"redis-sentinel-node-0","port":26379},{"host":"redis-sentinel-node-1","port":26379},{"host":"redis-sentinel-node-2","port":26379}],"name":"redis-sentinel"} -# REDIS_URL=ioredis://eyJzZW50aW5lbHMiOlt7Imhvc3QiOiJyZWRpcy1zZW50aW5lbDEiLCJwb3J0IjoyNjM3OX0seyJob3N0IjoicmVkaXMtc2VudGluZWwyIiwicG9ydCI6MjYzNzl9XSwibmFtZSI6Im15bWFzdGVyIn0= - -# Optional Redis settings: - -# Note: these parameters are not automatically passed to the Redis Container -# to do so, please edit the docker-compose.yml file as well. Redis is not configured -# via environment variables, only redis.conf or the command line - -# REDIS_PORT=6379 -# REDIS_DBINDEX=0 -# REDIS_USERNAME= -# REDIS_PASSWORD= -# REDIS_SOCKET= - -################################################################################### -# Upload File Location -# -# This is the location where uploaded files are stored. -################################################################################### - -UPLOAD_LOCATION=/srv/immich/uploads -################################################################################### -# Typesense -################################################################################### -TYPESENSE_API_KEY=a897scf-ac8c3aghjfghafwfgr44k-567cvhdf3odjkfg -# TYPESENSE_ENABLED=false -# TYPESENSE_URL uses base64 encoding for the nodes json. -# Example JSON that was used: -# [ -# { 'host': 'typesense-1.example.net', 'port': '443', 'protocol': 'https' }, -# { 'host': 'typesense-2.example.net', 'port': '443', 'protocol': 'https' }, -# { 'host': 'typesense-3.example.net', 'port': '443', 'protocol': 'https' }, -# ] -# TYPESENSE_URL=ha://WwogICAgeyAnaG9zdCc6ICd0eXBlc2Vuc2UtMS5leGFtcGxlLm5ldCcsICdwb3J0JzogJzQ0MycsICdwcm90b2NvbCc6ICdodHRwcycgfSwKICAgIHsgJ2hvc3QnOiAndHlwZXNlbnNlLTIuZXhhbXBsZS5uZXQnLCAncG9ydCc6ICc0NDMnLCAncHJvdG9jb2wnOiAnaHR0cHMnIH0sCiAgICB7ICdob3N0JzogJ3R5cGVzZW5zZS0zLmV4YW1wbGUubmV0JywgJ3BvcnQnOiAnNDQzJywgJ3Byb3RvY29sJzogJ2h0dHBzJyB9LApd +# ################################################################################### +# # Database +# ################################################################################### -################################################################################### -# Reverse Geocoding -# -# Reverse geocoding is done locally which has a small impact on memory usage -# This memory usage can be altered by changing the REVERSE_GEOCODING_PRECISION variable -# This ranges from 0-3 with 3 being the most precise -# 3 - Cities > 500 population: ~200MB RAM -# 2 - Cities > 1000 population: ~150MB RAM -# 1 - Cities > 5000 population: ~80MB RAM -# 0 - Cities > 15000 population: ~40MB RAM -#################################################################################### +# # NOTE: The following four database variables support Docker secrets by adding a *_FILE suffix to the variable name +# # See the docker-compose documentation on secrets for additional details: https://docs.docker.com/compose/compose-file/compose-file-v3/#secrets +# DB_HOSTNAME=immich_postgres +# DB_USERNAME=postgres +# DB_PASSWORD=postgres_kaf9asfjkas8asfhjasf333 +# DB_DATABASE_NAME=immich -# DISABLE_REVERSE_GEOCODING=false -# REVERSE_GEOCODING_PRECISION=3 +# # Optional Database settings: +# # DB_PORT=5432 -#################################################################################### -# WEB - Optional -# -# Custom message on the login page, should be written in HTML form. -# For example: -# PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.

Email: demo@demo.de
Password: demo" -#################################################################################### +# ################################################################################### +# # Redis +# ################################################################################### -PUBLIC_LOGIN_PAGE_MESSAGE=Look +# REDIS_HOSTNAME=immich_redis -#################################################################################### -# Alternative Service Addresses - Optional -# -# This is an advanced feature for users who may be running their immich services on different hosts. -# It will not change which address or port that services bind to within their containers, but it will change where other services look for their peers. -# Note: immich-microservices is bound to 3002, but no references are made -#################################################################################### +# # REDIS_URL will be used to pass custom options to ioredis. +# # Example for Sentinel +# # {"sentinels":[{"host":"redis-sentinel-node-0","port":26379},{"host":"redis-sentinel-node-1","port":26379},{"host":"redis-sentinel-node-2","port":26379}],"name":"redis-sentinel"} +# # REDIS_URL=ioredis://eyJzZW50aW5lbHMiOlt7Imhvc3QiOiJyZWRpcy1zZW50aW5lbDEiLCJwb3J0IjoyNjM3OX0seyJob3N0IjoicmVkaXMtc2VudGluZWwyIiwicG9ydCI6MjYzNzl9XSwibmFtZSI6Im15bWFzdGVyIn0= -IMMICH_WEB_URL=http://immich-web:3000 -IMMICH_SERVER_URL=http://immich-server:3001 -IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003 +# # Optional Redis settings: -#################################################################################### -# Alternative API's External Address - Optional -# -# This is an advanced feature used to control the public server endpoint returned to clients during Well-known discovery. -# You should only use this if you want mobile apps to access the immich API over a custom URL. Do not include trailing slash. -# NOTE: At this time, the web app will not be affected by this setting and will continue to use the relative path: /api -# Examples: http://localhost:3001, http://immich-api.example.com, etc -#################################################################################### +# # Note: these parameters are not automatically passed to the Redis Container +# # to do so, please edit the docker-compose.yml file as well. Redis is not configured +# # via environment variables, only redis.conf or the command line -IMMICH_API_URL_EXTERNAL=https://imm.knast.cc \ No newline at end of file +# # REDIS_PORT=6379 +# # REDIS_DBINDEX=0 +# # REDIS_USERNAME= +# # REDIS_PASSWORD= +# # REDIS_SOCKET= + +# ################################################################################### +# # Upload File Location +# # +# # This is the location where uploaded files are stored. +# ################################################################################### + +# UPLOAD_LOCATION=/srv/immich/uploads + + +# ################################################################################### +# # Typesense +# ################################################################################### +# TYPESENSE_API_KEY=a897scf-ac8c3aghjfghafwfgr44k-567cvhdf3odjkfg +# # TYPESENSE_ENABLED=false +# # TYPESENSE_URL uses base64 encoding for the nodes json. +# # Example JSON that was used: +# # [ +# # { 'host': 'typesense-1.example.net', 'port': '443', 'protocol': 'https' }, +# # { 'host': 'typesense-2.example.net', 'port': '443', 'protocol': 'https' }, +# # { 'host': 'typesense-3.example.net', 'port': '443', 'protocol': 'https' }, +# # ] +# # TYPESENSE_URL=ha://WwogICAgeyAnaG9zdCc6ICd0eXBlc2Vuc2UtMS5leGFtcGxlLm5ldCcsICdwb3J0JzogJzQ0MycsICdwcm90b2NvbCc6ICdodHRwcycgfSwKICAgIHsgJ2hvc3QnOiAndHlwZXNlbnNlLTIuZXhhbXBsZS5uZXQnLCAncG9ydCc6ICc0NDMnLCAncHJvdG9jb2wnOiAnaHR0cHMnIH0sCiAgICB7ICdob3N0JzogJ3R5cGVzZW5zZS0zLmV4YW1wbGUubmV0JywgJ3BvcnQnOiAnNDQzJywgJ3Byb3RvY29sJzogJ2h0dHBzJyB9LApd + +# ################################################################################### +# # Reverse Geocoding +# # +# # Reverse geocoding is done locally which has a small impact on memory usage +# # This memory usage can be altered by changing the REVERSE_GEOCODING_PRECISION variable +# # This ranges from 0-3 with 3 being the most precise +# # 3 - Cities > 500 population: ~200MB RAM +# # 2 - Cities > 1000 population: ~150MB RAM +# # 1 - Cities > 5000 population: ~80MB RAM +# # 0 - Cities > 15000 population: ~40MB RAM +# #################################################################################### + +# # DISABLE_REVERSE_GEOCODING=false +# # REVERSE_GEOCODING_PRECISION=3 + +# #################################################################################### +# # WEB - Optional +# # +# # Custom message on the login page, should be written in HTML form. +# # For example: +# # PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.

Email: demo@demo.de
Password: demo" +# #################################################################################### + +# PUBLIC_LOGIN_PAGE_MESSAGE=Look + +# #################################################################################### +# # Alternative Service Addresses - Optional +# # +# # This is an advanced feature for users who may be running their immich services on different hosts. +# # It will not change which address or port that services bind to within their containers, but it will change where other services look for their peers. +# # Note: immich-microservices is bound to 3002, but no references are made +# #################################################################################### + +# IMMICH_WEB_URL=http://immich-web:3000 +# IMMICH_SERVER_URL=http://immich-server:3001 +# IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003 + +# #################################################################################### +# # Alternative API's External Address - Optional +# # +# # This is an advanced feature used to control the public server endpoint returned to clients during Well-known discovery. +# # You should only use this if you want mobile apps to access the immich API over a custom URL. Do not include trailing slash. +# # NOTE: At this time, the web app will not be affected by this setting and will continue to use the relative path: /api +# # Examples: http://localhost:3001, http://immich-api.example.com, etc +# #################################################################################### + +# IMMICH_API_URL_EXTERNAL=https://imm.knast.cc \ No newline at end of file diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index ce55320..d897054 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -1,188 +1,261 @@ version: "3.8" + +# +# WARNING: Make sure to use the docker-compose.yml of the current release: +# +# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml +# +# The compose file on main may not be compatible with the latest release. +# + +# name: immich + +services: + immich-server: + container_name: immich_server + image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} + # extends: + # file: hwaccel.transcoding.yml + # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding + volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload + - /etc/localtime:/etc/localtime:ro + env_file: + - .env + ports: + - 2283:3001 + depends_on: + - redis + - database + restart: always + + immich-machine-learning: + container_name: immich_machine_learning + # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag. + # Example tag: ${IMMICH_VERSION:-release}-cuda + image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} + # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration + # file: hwaccel.ml.yml + # service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable + volumes: + - model-cache:/cache + env_file: + - .env + restart: always + + redis: + container_name: immich_redis + image: docker.io/redis:6.2-alpine@sha256:e3b17ba9479deec4b7d1eeec1548a253acc5374d68d3b27937fcfe4df8d18c7e + healthcheck: + test: redis-cli ping || exit 1 + restart: always + + database: + container_name: immich_postgres + image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 + environment: + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_DB: ${DB_DATABASE_NAME} + POSTGRES_INITDB_ARGS: '--data-checksums' + volumes: + - ${DB_DATA_LOCATION}:/var/lib/postgresql/data + healthcheck: + test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1 + interval: 5m + start_interval: 30s + start_period: 5m + command: ["postgres", "-c" ,"shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"] + restart: always + +volumes: + model-cache: + + +# # services: +# # immich-server: +# # networks: +# # - traefik +# # container_name: immich_server +# # image: ghcr.io/immich-app/immich-server:latest +# # entrypoint: ["/bin/sh", "./start-server.sh"] +# # volumes: +# # - ${UPLOAD_LOCATION}:/usr/src/app/upload +# # env_file: +# # - .env +# # depends_on: +# # - redis +# # - database +# # - typesense +# # restart: always + +# # immich-microservices: +# # networks: +# # - traefik +# # container_name: immich_microservices +# # image: ghcr.io/immich-app/immich-server:latest +# # entrypoint: ["/bin/sh", "./start-microservices.sh"] +# # volumes: +# # - ${UPLOAD_LOCATION}:/usr/src/app/upload +# # env_file: +# # - .env +# # depends_on: +# # - redis +# # - database +# # - typesense +# # restart: always + +# # immich-machine-learning: +# # networks: +# # - traefik +# # container_name: immich_machine_learning +# # image: ghcr.io/immich-app/immich-machine-learning:latest +# # volumes: +# # - ${UPLOAD_LOCATION}:/usr/src/app/upload +# # - /srv/immich/model-cache:/cache +# # env_file: +# # - .env +# # restart: always + +# # immich-web: +# # networks: +# # - traefik +# # container_name: immich_web +# # image: ghcr.io/immich-app/immich-web:latest +# # entrypoint: ["/bin/sh", "./entrypoint.sh"] +# # env_file: +# # - .env +# # restart: always +# # labels: +# # - traefik.enable=true +# # - "traefik.http.routers.imm.entrypoints=websecure" +# # - "traefik.http.routers.imm.rule=Host(`imm.$DOMAIN_NAME`)" +# # - "traefik.http.routers.imm.tls.certresolver=letsencr" +# # # - "traefik.http.services.imm.loadbalancer.server.port=32400" + +# # typesense: +# # networks: +# # - traefik +# # container_name: immich_typesense +# # image: typesense/typesense:0.24.0 +# # environment: +# # - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} +# # - TYPESENSE_DATA_DIR=/data +# # logging: +# # driver: none +# # volumes: +# # - /srv/immich/tsdata:/data +# # restart: always + +# # redis: +# # container_name: immich_redis +# # image: redis:6.2 +# # networks: +# # - traefik +# # restart: always + +# # database: +# # networks: +# # - traefik +# # container_name: immich_postgres +# # image: postgres:14 +# # env_file: +# # - .env +# # environment: +# # POSTGRES_PASSWORD: ${DB_PASSWORD} +# # POSTGRES_USER: ${DB_USERNAME} +# # POSTGRES_DB: ${DB_DATABASE_NAME} +# # PG_DATA: /var/lib/postgresql/data +# # volumes: +# # - /srv/immich/pgdata:/var/lib/postgresql/data +# # restart: always + +# # immich-proxy: +# # networks: +# # - traefik +# # container_name: immich_proxy +# # image: ghcr.io/immich-app/immich-proxy:release +# # environment: +# # # Make sure these values get passed through from the env file +# # - IMMICH_SERVER_URL +# # - IMMICH_WEB_URL +# # ports: +# # - 2283:8080 +# # logging: +# # driver: none +# # depends_on: +# # - immich-server +# # restart: always + + # services: -# immich-server: +# immich: +# image: ghcr.io/imagegenius/immich:latest +# container_name: immich # networks: # - traefik -# container_name: immich_server -# image: ghcr.io/immich-app/immich-server:latest -# entrypoint: ["/bin/sh", "./start-server.sh"] -# volumes: -# - ${UPLOAD_LOCATION}:/usr/src/app/upload -# env_file: -# - .env -# depends_on: -# - redis -# - database -# - typesense -# restart: always - -# immich-microservices: -# networks: -# - traefik -# container_name: immich_microservices -# image: ghcr.io/immich-app/immich-server:latest -# entrypoint: ["/bin/sh", "./start-microservices.sh"] -# volumes: -# - ${UPLOAD_LOCATION}:/usr/src/app/upload -# env_file: -# - .env -# depends_on: -# - redis -# - database -# - typesense -# restart: always - -# immich-machine-learning: -# networks: -# - traefik -# container_name: immich_machine_learning -# image: ghcr.io/immich-app/immich-machine-learning:latest -# volumes: -# - ${UPLOAD_LOCATION}:/usr/src/app/upload -# - /srv/immich/model-cache:/cache -# env_file: -# - .env -# restart: always - -# immich-web: -# networks: -# - traefik -# container_name: immich_web -# image: ghcr.io/immich-app/immich-web:latest -# entrypoint: ["/bin/sh", "./entrypoint.sh"] -# env_file: -# - .env -# restart: always # labels: # - traefik.enable=true # - "traefik.http.routers.imm.entrypoints=websecure" # - "traefik.http.routers.imm.rule=Host(`imm.$DOMAIN_NAME`)" # - "traefik.http.routers.imm.tls.certresolver=letsencr" -# # - "traefik.http.services.imm.loadbalancer.server.port=32400" - -# typesense: -# networks: -# - traefik -# container_name: immich_typesense -# image: typesense/typesense:0.24.0 +# - "traefik.http.services.imm.loadbalancer.server.port=7878" # environment: -# - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} -# - TYPESENSE_DATA_DIR=/data -# logging: -# driver: none +# - PUID=1000 +# - PGID=1000 +# - TZ=Etc/UTC +# - DB_HOSTNAME=database +# - DB_USERNAME=postgres +# - DB_PASSWORD=a897scf-ac8c3aghjfghafwfgr44k-567cvhdf3odjkfg +# - DB_DATABASE_NAME=immich +# - REDIS_HOSTNAME=redis +# # - DB_PORT=5432 #optional +# # - REDIS_PORT=6379 #optional +# # - REDIS_PASSWORD= #optional +# # - MACHINE_LEARNING_HOST=0.0.0.0 #optional +# # - MACHINE_LEARNING_PORT=3003 #optional +# # - MACHINE_LEARNING_WORKERS=1 #optional +# # - MACHINE_LEARNING_WORKER_TIMEOUT=120 #optional # volumes: -# - /srv/immich/tsdata:/data -# restart: always +# - /srv/immich/config:/config +# - /srv/immich/uploads:/photos +# # - path_to_libraries:/libraries #optional +# ports: +# - 7878:8080 +# restart: unless-stopped +# # This container requires an external application to be run separately. +# # By default, ports for the databases are opened, be careful when deploying it +# # Redis: # redis: -# container_name: immich_redis -# image: redis:6.2 # networks: # - traefik -# restart: always - +# image: redis +# ports: +# - 6379:6379 +# container_name: redis + +# # PostgreSQL 14: # database: +# image: tensorchord/pgvecto-rs:pg14-v0.2.0 +# ports: +# - 5432:5432 +# container_name: database # networks: # - traefik -# container_name: immich_postgres -# image: postgres:14 -# env_file: -# - .env # environment: -# POSTGRES_PASSWORD: ${DB_PASSWORD} -# POSTGRES_USER: ${DB_USERNAME} -# POSTGRES_DB: ${DB_DATABASE_NAME} -# PG_DATA: /var/lib/postgresql/data +# POSTGRES_USER: postgres +# POSTGRES_PASSWORD: a897scf-ac8c3aghjfghafwfgr44k-567cvhdf3odjkfg +# POSTGRES_DB: immich # volumes: # - /srv/immich/pgdata:/var/lib/postgresql/data -# restart: always -# immich-proxy: -# networks: -# - traefik -# container_name: immich_proxy -# image: ghcr.io/immich-app/immich-proxy:release -# environment: -# # Make sure these values get passed through from the env file -# - IMMICH_SERVER_URL -# - IMMICH_WEB_URL -# ports: -# - 2283:8080 -# logging: -# driver: none -# depends_on: -# - immich-server -# restart: always +# # volumes: +# # pgdata: +# # model-cache: +# # tsdata: - -services: - immich: - image: ghcr.io/imagegenius/immich:latest - container_name: immich - networks: - - traefik - labels: - - traefik.enable=true - - "traefik.http.routers.imm.entrypoints=websecure" - - "traefik.http.routers.imm.rule=Host(`imm.$DOMAIN_NAME`)" - - "traefik.http.routers.imm.tls.certresolver=letsencr" - - "traefik.http.services.imm.loadbalancer.server.port=7878" - environment: - - PUID=1000 - - PGID=1000 - - TZ=Etc/UTC - - DB_HOSTNAME=database - - DB_USERNAME=postgres - - DB_PASSWORD=a897scf-ac8c3aghjfghafwfgr44k-567cvhdf3odjkfg - - DB_DATABASE_NAME=immich - - REDIS_HOSTNAME=redis - # - DB_PORT=5432 #optional - # - REDIS_PORT=6379 #optional - # - REDIS_PASSWORD= #optional - # - MACHINE_LEARNING_HOST=0.0.0.0 #optional - # - MACHINE_LEARNING_PORT=3003 #optional - # - MACHINE_LEARNING_WORKERS=1 #optional - # - MACHINE_LEARNING_WORKER_TIMEOUT=120 #optional - volumes: - - /srv/immich/config:/config - - /srv/immich/uploads:/photos - # - path_to_libraries:/libraries #optional - ports: - - 7878:8080 - restart: unless-stopped - -# This container requires an external application to be run separately. -# By default, ports for the databases are opened, be careful when deploying it -# Redis: - redis: - networks: - - traefik - image: redis - ports: - - 6379:6379 - container_name: redis - -# PostgreSQL 14: - database: - image: tensorchord/pgvecto-rs:pg14-v0.2.0 - ports: - - 5432:5432 - container_name: database - networks: - - traefik - environment: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: a897scf-ac8c3aghjfghafwfgr44k-567cvhdf3odjkfg - POSTGRES_DB: immich - volumes: - - /srv/immich/pgdata:/var/lib/postgresql/data - -# volumes: -# pgdata: -# model-cache: -# tsdata: - -networks: - traefik: - external: true \ No newline at end of file +# networks: +# traefik: +# external: true \ No newline at end of file From 43478956dcf6ff8c1e408555a622c24b857b19cc Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 27 Jul 2024 21:44:10 +0200 Subject: [PATCH 37/48] immich --- immich/docker-compose.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index d897054..c652c42 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -61,11 +61,11 @@ services: POSTGRES_INITDB_ARGS: '--data-checksums' volumes: - ${DB_DATA_LOCATION}:/var/lib/postgresql/data - healthcheck: - test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1 - interval: 5m - start_interval: 30s - start_period: 5m + # healthcheck: + # test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1 + # interval: 5m + # start_interval: 30s + # start_period: 5m command: ["postgres", "-c" ,"shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"] restart: always From c5ea9910d18a5d8d43a67a8e3df1d1e93009d8af Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 27 Jul 2024 22:00:30 +0200 Subject: [PATCH 38/48] immich --- immich/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index c652c42..c802954 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -47,8 +47,8 @@ services: redis: container_name: immich_redis image: docker.io/redis:6.2-alpine@sha256:e3b17ba9479deec4b7d1eeec1548a253acc5374d68d3b27937fcfe4df8d18c7e - healthcheck: - test: redis-cli ping || exit 1 + # healthcheck: + # test: redis-cli ping || exit 1 restart: always database: From caf33dc16988f5e2a11f1b23a13b8bc72ac1c2b6 Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 27 Jul 2024 22:08:21 +0200 Subject: [PATCH 39/48] immich --- immich/docker-compose.yml | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index c802954..3c8d919 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -14,6 +14,8 @@ version: "3.8" services: immich-server: container_name: immich_server + networks: + - traefik image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # extends: # file: hwaccel.transcoding.yml @@ -31,6 +33,8 @@ services: restart: always immich-machine-learning: + networks: + - traefik container_name: immich_machine_learning # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag. # Example tag: ${IMMICH_VERSION:-release}-cuda @@ -39,19 +43,23 @@ services: # file: hwaccel.ml.yml # service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable volumes: - - model-cache:/cache + - /srv/immich/model-cache:/cache env_file: - .env restart: always redis: - container_name: immich_redis + networks: + - traefik + container_name: redis image: docker.io/redis:6.2-alpine@sha256:e3b17ba9479deec4b7d1eeec1548a253acc5374d68d3b27937fcfe4df8d18c7e # healthcheck: # test: redis-cli ping || exit 1 restart: always database: + networks: + - traefik container_name: immich_postgres image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 environment: @@ -69,8 +77,8 @@ services: command: ["postgres", "-c" ,"shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"] restart: always -volumes: - model-cache: +# volumes: +# model-cache: # # services: @@ -256,6 +264,6 @@ volumes: # # model-cache: # # tsdata: -# networks: -# traefik: -# external: true \ No newline at end of file +networks: + traefik: + external: true \ No newline at end of file From 8c7b9a16e47da31e39b52f80f6ac08e8882afe93 Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 27 Jul 2024 23:35:14 +0200 Subject: [PATCH 40/48] immich --- immich/docker-compose.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index 3c8d919..15a4029 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -52,7 +52,9 @@ services: networks: - traefik container_name: redis - image: docker.io/redis:6.2-alpine@sha256:e3b17ba9479deec4b7d1eeec1548a253acc5374d68d3b27937fcfe4df8d18c7e + image: redis:latest + command: ["redis-server", "--bind", "redis", "--port", "6379"] + # image: docker.io/redis:6.2-alpine@sha256:e3b17ba9479deec4b7d1eeec1548a253acc5374d68d3b27937fcfe4df8d18c7e # healthcheck: # test: redis-cli ping || exit 1 restart: always @@ -60,7 +62,7 @@ services: database: networks: - traefik - container_name: immich_postgres + container_name: database image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 environment: POSTGRES_PASSWORD: ${DB_PASSWORD} From e8c02a6cf3e8b66378f96fee703e94b4fc6c8ac7 Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 27 Jul 2024 23:49:10 +0200 Subject: [PATCH 41/48] immich --- immich/docker-compose.yml | 297 +++++++++++++++++++------------------- 1 file changed, 150 insertions(+), 147 deletions(-) diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index 15a4029..bd530bd 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -11,192 +11,195 @@ version: "3.8" # name: immich +# services: + # immich-server: + # container_name: immich_server + # networks: + # - traefik + # image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} + # # extends: + # # file: hwaccel.transcoding.yml + # # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding + # volumes: + # - ${UPLOAD_LOCATION}:/usr/src/app/upload + # - /etc/localtime:/etc/localtime:ro + # env_file: + # - .env + # ports: + # - 2283:3001 + # depends_on: + # - redis + # - database + # restart: always + + # immich-machine-learning: + # networks: + # - traefik + # container_name: immich_machine_learning + # # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag. + # # Example tag: ${IMMICH_VERSION:-release}-cuda + # image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} + # # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration + # # file: hwaccel.ml.yml + # # service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable + # volumes: + # - /srv/immich/model-cache:/cache + # env_file: + # - .env + # restart: always + + # redis: + # networks: + # - traefik + # container_name: redis + # image: redis:latest + # command: ["redis-server", "--bind", "redis", "--port", "6379"] + # # image: docker.io/redis:6.2-alpine@sha256:e3b17ba9479deec4b7d1eeec1548a253acc5374d68d3b27937fcfe4df8d18c7e + # # healthcheck: + # # test: redis-cli ping || exit 1 + # restart: always + + # database: + # networks: + # - traefik + # container_name: database + # image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 + # environment: + # POSTGRES_PASSWORD: ${DB_PASSWORD} + # POSTGRES_USER: ${DB_USERNAME} + # POSTGRES_DB: ${DB_DATABASE_NAME} + # POSTGRES_INITDB_ARGS: '--data-checksums' + # volumes: + # - ${DB_DATA_LOCATION}:/var/lib/postgresql/data + # # healthcheck: + # # test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1 + # # interval: 5m + # # start_interval: 30s + # # start_period: 5m + # command: ["postgres", "-c" ,"shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"] + # restart: always + +# volumes: +# model-cache: + + services: immich-server: - container_name: immich_server networks: - traefik - image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} - # extends: - # file: hwaccel.transcoding.yml - # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding + container_name: immich_server + image: ghcr.io/immich-app/immich-server:latest + entrypoint: ["/bin/sh", "./start-server.sh"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - - /etc/localtime:/etc/localtime:ro env_file: - .env - ports: - - 2283:3001 depends_on: - redis - database + # - typesense + restart: always + + immich-microservices: + networks: + - traefik + container_name: immich_microservices + image: ghcr.io/immich-app/immich-server:latest + entrypoint: ["/bin/sh", "./start-microservices.sh"] + volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload + env_file: + - .env + depends_on: + - redis + - database + # - typesense restart: always immich-machine-learning: networks: - traefik container_name: immich_machine_learning - # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag. - # Example tag: ${IMMICH_VERSION:-release}-cuda - image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} - # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration - # file: hwaccel.ml.yml - # service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable + image: ghcr.io/immich-app/immich-machine-learning:latest volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload - /srv/immich/model-cache:/cache env_file: - .env restart: always - redis: + immich-web: + networks: + - traefik + container_name: immich_web + image: ghcr.io/immich-app/immich-web:latest + entrypoint: ["/bin/sh", "./entrypoint.sh"] + env_file: + - .env + restart: always + labels: + - traefik.enable=true + - "traefik.http.routers.imm.entrypoints=websecure" + - "traefik.http.routers.imm.rule=Host(`imm.$DOMAIN_NAME`)" + - "traefik.http.routers.imm.tls.certresolver=letsencr" + # - "traefik.http.services.imm.loadbalancer.server.port=32400" + + # typesense: + # networks: + # - traefik + # container_name: immich_typesense + # image: typesense/typesense:0.24.0 + # environment: + # - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} + # - TYPESENSE_DATA_DIR=/data + # logging: + # driver: none + # volumes: + # - /srv/immich/tsdata:/data + # restart: always + + redis: + container_name: immich_redis + image: redis:6.2 networks: - traefik - container_name: redis - image: redis:latest - command: ["redis-server", "--bind", "redis", "--port", "6379"] - # image: docker.io/redis:6.2-alpine@sha256:e3b17ba9479deec4b7d1eeec1548a253acc5374d68d3b27937fcfe4df8d18c7e - # healthcheck: - # test: redis-cli ping || exit 1 restart: always database: networks: - traefik - container_name: database - image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 + container_name: immich_postgres + image: postgres:14 + env_file: + - .env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} - POSTGRES_INITDB_ARGS: '--data-checksums' + PG_DATA: /var/lib/postgresql/data volumes: - - ${DB_DATA_LOCATION}:/var/lib/postgresql/data - # healthcheck: - # test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1 - # interval: 5m - # start_interval: 30s - # start_period: 5m - command: ["postgres", "-c" ,"shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"] + - /srv/immich/pgdata:/var/lib/postgresql/data restart: always -# volumes: -# model-cache: + immich-proxy: + networks: + - traefik + container_name: immich_proxy + image: ghcr.io/immich-app/immich-proxy:release + environment: + # Make sure these values get passed through from the env file + - IMMICH_SERVER_URL + - IMMICH_WEB_URL + ports: + - 2283:8080 + logging: + driver: none + depends_on: + - immich-server + restart: always -# # services: -# # immich-server: -# # networks: -# # - traefik -# # container_name: immich_server -# # image: ghcr.io/immich-app/immich-server:latest -# # entrypoint: ["/bin/sh", "./start-server.sh"] -# # volumes: -# # - ${UPLOAD_LOCATION}:/usr/src/app/upload -# # env_file: -# # - .env -# # depends_on: -# # - redis -# # - database -# # - typesense -# # restart: always - -# # immich-microservices: -# # networks: -# # - traefik -# # container_name: immich_microservices -# # image: ghcr.io/immich-app/immich-server:latest -# # entrypoint: ["/bin/sh", "./start-microservices.sh"] -# # volumes: -# # - ${UPLOAD_LOCATION}:/usr/src/app/upload -# # env_file: -# # - .env -# # depends_on: -# # - redis -# # - database -# # - typesense -# # restart: always - -# # immich-machine-learning: -# # networks: -# # - traefik -# # container_name: immich_machine_learning -# # image: ghcr.io/immich-app/immich-machine-learning:latest -# # volumes: -# # - ${UPLOAD_LOCATION}:/usr/src/app/upload -# # - /srv/immich/model-cache:/cache -# # env_file: -# # - .env -# # restart: always - -# # immich-web: -# # networks: -# # - traefik -# # container_name: immich_web -# # image: ghcr.io/immich-app/immich-web:latest -# # entrypoint: ["/bin/sh", "./entrypoint.sh"] -# # env_file: -# # - .env -# # restart: always -# # labels: -# # - traefik.enable=true -# # - "traefik.http.routers.imm.entrypoints=websecure" -# # - "traefik.http.routers.imm.rule=Host(`imm.$DOMAIN_NAME`)" -# # - "traefik.http.routers.imm.tls.certresolver=letsencr" -# # # - "traefik.http.services.imm.loadbalancer.server.port=32400" - -# # typesense: -# # networks: -# # - traefik -# # container_name: immich_typesense -# # image: typesense/typesense:0.24.0 -# # environment: -# # - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} -# # - TYPESENSE_DATA_DIR=/data -# # logging: -# # driver: none -# # volumes: -# # - /srv/immich/tsdata:/data -# # restart: always - -# # redis: -# # container_name: immich_redis -# # image: redis:6.2 -# # networks: -# # - traefik -# # restart: always - -# # database: -# # networks: -# # - traefik -# # container_name: immich_postgres -# # image: postgres:14 -# # env_file: -# # - .env -# # environment: -# # POSTGRES_PASSWORD: ${DB_PASSWORD} -# # POSTGRES_USER: ${DB_USERNAME} -# # POSTGRES_DB: ${DB_DATABASE_NAME} -# # PG_DATA: /var/lib/postgresql/data -# # volumes: -# # - /srv/immich/pgdata:/var/lib/postgresql/data -# # restart: always - -# # immich-proxy: -# # networks: -# # - traefik -# # container_name: immich_proxy -# # image: ghcr.io/immich-app/immich-proxy:release -# # environment: -# # # Make sure these values get passed through from the env file -# # - IMMICH_SERVER_URL -# # - IMMICH_WEB_URL -# # ports: -# # - 2283:8080 -# # logging: -# # driver: none -# # depends_on: -# # - immich-server -# # restart: always +# OFFICIAL # services: From e726fae2e82b7746a1ed41b7b994142703fb5b55 Mon Sep 17 00:00:00 2001 From: msnie Date: Sat, 27 Jul 2024 23:50:13 +0200 Subject: [PATCH 42/48] immich --- immich/docker-compose.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index bd530bd..54548aa 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -88,7 +88,7 @@ services: networks: - traefik container_name: immich_server - image: ghcr.io/immich-app/immich-server:latest + image: ghcr.io/immich-app/immich-server:release entrypoint: ["/bin/sh", "./start-server.sh"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload @@ -104,7 +104,7 @@ services: networks: - traefik container_name: immich_microservices - image: ghcr.io/immich-app/immich-server:latest + image: ghcr.io/immich-app/immich-server:release entrypoint: ["/bin/sh", "./start-microservices.sh"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload @@ -120,7 +120,7 @@ services: networks: - traefik container_name: immich_machine_learning - image: ghcr.io/immich-app/immich-machine-learning:latest + image: ghcr.io/immich-app/immich-machine-learning:release volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /srv/immich/model-cache:/cache @@ -132,7 +132,7 @@ services: networks: - traefik container_name: immich_web - image: ghcr.io/immich-app/immich-web:latest + image: ghcr.io/immich-app/immich-web:release entrypoint: ["/bin/sh", "./entrypoint.sh"] env_file: - .env From b39c65097a9aaad38946817cc0a5114780baee3f Mon Sep 17 00:00:00 2001 From: msnie Date: Sun, 28 Jul 2024 20:32:04 +0200 Subject: [PATCH 43/48] immich --- ghost/docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/ghost/docker-compose.yml b/ghost/docker-compose.yml index 495b302..3299bd7 100644 --- a/ghost/docker-compose.yml +++ b/ghost/docker-compose.yml @@ -26,6 +26,7 @@ services: - "traefik.http.routers.ghost.entrypoints=websecure" - "traefik.http.routers.ghost.rule=Host(`read.$DOMAIN_NAME`)" - "traefik.http.routers.ghost.tls.certresolver=letsencr" + - "traefik.http.services.ghost.loadbalancer.server.port=2368" # ghost_db: # image: mysql:8 From b84acf987b1db3d9a5e345dcd990a42aa08c14c0 Mon Sep 17 00:00:00 2001 From: msnie Date: Sun, 28 Jul 2024 21:06:17 +0200 Subject: [PATCH 44/48] immich --- ghost/docker-compose.yml | 3 ++ ghost/nginx/default.conf | 62 +++++++++++++++++++++++++++++++++++----- 2 files changed, 58 insertions(+), 7 deletions(-) diff --git a/ghost/docker-compose.yml b/ghost/docker-compose.yml index 3299bd7..8651cf1 100644 --- a/ghost/docker-compose.yml +++ b/ghost/docker-compose.yml @@ -2,6 +2,9 @@ version: "3" services: ghost: image: ghost:latest + build: + context: ./nginx + dockerfile: Dockerfile volumes: - /srv/ghost:/var/lib/ghost/content environment: diff --git a/ghost/nginx/default.conf b/ghost/nginx/default.conf index 90879f1..7cd3f22 100644 --- a/ghost/nginx/default.conf +++ b/ghost/nginx/default.conf @@ -1,15 +1,63 @@ -server { - listen 80; - listen [::]:80; - server_name read.knast.cc; -} +# server { +# listen 80; +# listen [::]:80; +# server_name read.knast.cc; +# } + +# server { +# server_name read.knast.cc; +# location / { + # proxy_set_header Host $host; + # proxy_set_header X-Real-IP $remote_addr; + # proxy_set_header X-Forwarded-Proto https; + # proxy_pass http://ghost:2368; + # } +# } + server { + listen 443 ssl http2 default_server; + listen [::]:443 http2 ssl; server_name read.knast.cc; + ssl on; + ssl_certificate /etc/nginx/yourhost.xyz.crt; + ssl_certificate_key /etc/nginx/yourhost.xyz.key; + ssl_protocols TLSv1.2; + location / { - proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-Proto https; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_connect_timeout 90; + proxy_send_timeout 90; + proxy_read_timeout 90; + proxy_buffering off; + proxy_cache_valid 200 30m; + proxy_cache_valid 404 1m; + + client_max_body_size 10m; + client_body_buffer_size 128k; + + proxy_pass http://ghost:2368; } + + # Cache Ghost Images + location ~ "/assets/images/(.*)-([a-z0-9]{10})\.(?:png|jpe?g|tiff)(.*)$" { + expires max; + add_header Cache-Control public; + add_header Vary Accept; + proxy_pass http://ghost:2368/$uri$webp_suffix; + access_log off; + } + + # Cache Ghost css and js + location ~* \.(?:css|js) { + expires max; + add_header Cache-Control public; + proxy_pass http://ghost:2368/$uri; + access_log off; + } + } \ No newline at end of file From 63fb245519400f3113191e796c268dc1bf1d4503 Mon Sep 17 00:00:00 2001 From: msnie Date: Sun, 28 Jul 2024 21:08:16 +0200 Subject: [PATCH 45/48] immich --- ghost/nginx/default.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ghost/nginx/default.conf b/ghost/nginx/default.conf index 7cd3f22..ebf0568 100644 --- a/ghost/nginx/default.conf +++ b/ghost/nginx/default.conf @@ -19,10 +19,10 @@ server { listen 443 ssl http2 default_server; listen [::]:443 http2 ssl; server_name read.knast.cc; - ssl on; - ssl_certificate /etc/nginx/yourhost.xyz.crt; - ssl_certificate_key /etc/nginx/yourhost.xyz.key; - ssl_protocols TLSv1.2; + # ssl on; + # ssl_certificate /etc/nginx/yourhost.xyz.crt; + # ssl_certificate_key /etc/nginx/yourhost.xyz.key; + # ssl_protocols TLSv1.2; location / { proxy_set_header X-Real-IP $remote_addr; From 3c2f7023d0a08d66996427b7864bccb7f2772671 Mon Sep 17 00:00:00 2001 From: msnie Date: Sun, 28 Jul 2024 21:10:06 +0200 Subject: [PATCH 46/48] immich --- ghost/nginx/default.conf | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ghost/nginx/default.conf b/ghost/nginx/default.conf index ebf0568..37342f3 100644 --- a/ghost/nginx/default.conf +++ b/ghost/nginx/default.conf @@ -16,15 +16,17 @@ server { - listen 443 ssl http2 default_server; - listen [::]:443 http2 ssl; - server_name read.knast.cc; + # listen 443 ssl http2 default_server; + # listen [::]:443 http2 ssl; + # server_name read.knast.cc; # ssl on; # ssl_certificate /etc/nginx/yourhost.xyz.crt; # ssl_certificate_key /etc/nginx/yourhost.xyz.key; # ssl_protocols TLSv1.2; location / { + listen 80; + listen [::]:80; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; From 370779b31d9b724ae85dcd1339eecf98ef1fb596 Mon Sep 17 00:00:00 2001 From: msnie Date: Sun, 28 Jul 2024 21:11:46 +0200 Subject: [PATCH 47/48] ghost --- ghost/nginx/default.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ghost/nginx/default.conf b/ghost/nginx/default.conf index 37342f3..bbec5e1 100644 --- a/ghost/nginx/default.conf +++ b/ghost/nginx/default.conf @@ -16,6 +16,8 @@ server { + listen 80; + listen [::]:80; # listen 443 ssl http2 default_server; # listen [::]:443 http2 ssl; # server_name read.knast.cc; @@ -25,8 +27,7 @@ server { # ssl_protocols TLSv1.2; location / { - listen 80; - listen [::]:80; + proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; From 0231b67486943e1b3c69f92152abe9b23bc62d61 Mon Sep 17 00:00:00 2001 From: msnie Date: Thu, 8 Aug 2024 08:23:20 +0200 Subject: [PATCH 48/48] gitea action runner --- ghost/docker-compose.yml | 10 +++-- ghost/nginx/default.conf | 82 ++++++++++++++++++++-------------------- gitea/docker-compose.yml | 13 +++++++ 3 files changed, 60 insertions(+), 45 deletions(-) diff --git a/ghost/docker-compose.yml b/ghost/docker-compose.yml index 8651cf1..34317b9 100644 --- a/ghost/docker-compose.yml +++ b/ghost/docker-compose.yml @@ -2,9 +2,9 @@ version: "3" services: ghost: image: ghost:latest - build: - context: ./nginx - dockerfile: Dockerfile + # build: + # context: ./nginx + # dockerfile: Dockerfile volumes: - /srv/ghost:/var/lib/ghost/content environment: @@ -16,9 +16,11 @@ services: # database__connection__user: root # database__connection__password: RJbhYNaCEB3fu8cbtkteetxTR5LtZjnPsqATGgPZ # database__connection__database: ghost + volumes: + - /home/ghost/content:/var/lib/ghost/content/data networks: - traefik - - default + # - default # depends_on: # - ghost_db restart: unless-stopped diff --git a/ghost/nginx/default.conf b/ghost/nginx/default.conf index bbec5e1..aea9aa8 100644 --- a/ghost/nginx/default.conf +++ b/ghost/nginx/default.conf @@ -15,52 +15,52 @@ # } -server { - listen 80; - listen [::]:80; - # listen 443 ssl http2 default_server; - # listen [::]:443 http2 ssl; - # server_name read.knast.cc; - # ssl on; - # ssl_certificate /etc/nginx/yourhost.xyz.crt; - # ssl_certificate_key /etc/nginx/yourhost.xyz.key; - # ssl_protocols TLSv1.2; +# server { +# listen 80; +# listen [::]:80; +# # listen 443 ssl http2 default_server; +# # listen [::]:443 http2 ssl; +# # server_name read.knast.cc; +# # ssl on; +# # ssl_certificate /etc/nginx/yourhost.xyz.crt; +# # ssl_certificate_key /etc/nginx/yourhost.xyz.key; +# # ssl_protocols TLSv1.2; - location / { +# location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_connect_timeout 90; - proxy_send_timeout 90; - proxy_read_timeout 90; - proxy_buffering off; - proxy_cache_valid 200 30m; - proxy_cache_valid 404 1m; +# proxy_set_header X-Real-IP $remote_addr; +# proxy_set_header Host $host; +# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; +# proxy_set_header X-Forwarded-Proto $scheme; +# proxy_connect_timeout 90; +# proxy_send_timeout 90; +# proxy_read_timeout 90; +# proxy_buffering off; +# proxy_cache_valid 200 30m; +# proxy_cache_valid 404 1m; - client_max_body_size 10m; - client_body_buffer_size 128k; +# client_max_body_size 10m; +# client_body_buffer_size 128k; - proxy_pass http://ghost:2368; - } +# proxy_pass http://ghost:2368; +# } - # Cache Ghost Images - location ~ "/assets/images/(.*)-([a-z0-9]{10})\.(?:png|jpe?g|tiff)(.*)$" { - expires max; - add_header Cache-Control public; - add_header Vary Accept; - proxy_pass http://ghost:2368/$uri$webp_suffix; - access_log off; - } +# # Cache Ghost Images +# location ~ "/assets/images/(.*)-([a-z0-9]{10})\.(?:png|jpe?g|tiff)(.*)$" { +# expires max; +# add_header Cache-Control public; +# add_header Vary Accept; +# proxy_pass http://ghost:2368/$uri$webp_suffix; +# access_log off; +# } - # Cache Ghost css and js - location ~* \.(?:css|js) { - expires max; - add_header Cache-Control public; - proxy_pass http://ghost:2368/$uri; - access_log off; - } +# # Cache Ghost css and js +# location ~* \.(?:css|js) { +# expires max; +# add_header Cache-Control public; +# proxy_pass http://ghost:2368/$uri; +# access_log off; +# } -} \ No newline at end of file +# } \ No newline at end of file diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml index 72e3c96..0400c9f 100644 --- a/gitea/docker-compose.yml +++ b/gitea/docker-compose.yml @@ -54,6 +54,19 @@ services: options: max-size: "1m" + runner: + image: gitea/act_runner:latest + environment: + CONFIG_FILE: /config.yaml + GITEA_INSTANCE_URL: "https://gitea.knast.cc" + GITEA_RUNNER_REGISTRATION_TOKEN: "F27ZMdzwY0wunOmmkK9O4kwZFGeyORykFHZtJA9F" + GITEA_RUNNER_NAME: "BOB_THE_BUILDER" + GITEA_RUNNER_LABELS: "ALL" + volumes: + - /srv/gitea_runner/config/config.yaml:/config.yaml + - /srv/gitea_runner/data:/data + - /var/run/docker.sock:/var/run/docker.sock + networks: traefik: external: true