From d0276fbf09afdaa96ff6e28bdc35e433a0363180 Mon Sep 17 00:00:00 2001 From: Peter Wood Date: Fri, 21 Feb 2025 19:04:28 -0500 Subject: [PATCH 01/11] added immich finally --- immich/docker-compose.yml | 88 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 immich/docker-compose.yml diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml new file mode 100644 index 0000000..711ce63 --- /dev/null +++ b/immich/docker-compose.yml @@ -0,0 +1,88 @@ +# +# 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: + # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file + - ${UPLOAD_LOCATION}:/usr/src/app/upload + - /etc/localtime:/etc/localtime:ro + env_file: + - .env + ports: + - 2283:2283 + depends_on: + - redis + - database + restart: always + healthcheck: + disable: false + + 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 + healthcheck: + disable: false + + redis: + container_name: immich_redis + image: docker.io/redis:6.2-alpine@sha256:905c4ee67b8e0aa955331960d2aa745781e6bd89afc44a8584bfd13bc890f0ae + 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: + # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file + - ${DB_DATA_LOCATION}:/var/lib/postgresql/data + healthcheck: + test: >- + pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1; + Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --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: From dbe9ff89695e5cd56d25cb399c1c5f2abc8ebb74 Mon Sep 17 00:00:00 2001 From: Peter Wood Date: Fri, 21 Feb 2025 19:04:40 -0500 Subject: [PATCH 02/11] cleanup --- adguard/docker-compose.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/adguard/docker-compose.yml b/adguard/docker-compose.yml index 5f66ba0..4d69b76 100644 --- a/adguard/docker-compose.yml +++ b/adguard/docker-compose.yml @@ -16,4 +16,3 @@ volumes: driver: local work: driver: local -networks: {} From 2b0b730a36d855fc8b09d5ca723c47c867ca0a84 Mon Sep 17 00:00:00 2001 From: Peter Wood Date: Fri, 21 Feb 2025 19:07:56 -0500 Subject: [PATCH 03/11] better ignorance of caddy --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5c25d0d..8e78380 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,7 @@ vaultwarden/*/ pinchflat/ homepage/config/logs/ speedtest/config/ -caddy/ts-caddy/ +caddy/caddy* diun/data/ # stirling From 6eb27e52e9c883fc6d46024c64700995c08f8f46 Mon Sep 17 00:00:00 2001 From: Peter Wood Date: Sat, 22 Feb 2025 21:28:09 -0500 Subject: [PATCH 04/11] add Caddy configuration and update docker-compose for improved service management --- caddy/Caddyfile | 9 +++++++++ caddy/docker-compose.yml | 28 +++++++++++++--------------- 2 files changed, 22 insertions(+), 15 deletions(-) create mode 100644 caddy/Caddyfile diff --git a/caddy/Caddyfile b/caddy/Caddyfile new file mode 100644 index 0000000..6161786 --- /dev/null +++ b/caddy/Caddyfile @@ -0,0 +1,9 @@ +{ + debug + email peter@peterwood.devdev +} + +jellyfin.peterwood.rocks { + encode gzip + reverse_proxy https://localhost:8920 +} diff --git a/caddy/docker-compose.yml b/caddy/docker-compose.yml index fd94519..943406e 100644 --- a/caddy/docker-compose.yml +++ b/caddy/docker-compose.yml @@ -1,18 +1,16 @@ services: - ts-caddy: - image: tailscale/tailscale:latest - container_name: ts-caddy - hostname: ts-caddy - environment: - - TS_AUTHKEY:${TAILSCALE_AUTHKEY} - - TS_SOCKET:/var/run/tailscale/tailscaled.sock - volumes: - - ${PWD}/ts-caddy/state:/var/lib/tailscale - - /dev/net/tun:/dev/net/tun - cap_add: - - net_admin - - sys_module - restart: unless-stopped caddy: image: caddy/caddy:latest - network_mode: service:ts-caddy \ No newline at end of file + restart: always + ports: + - 80:80 + - 443:443 + - 443:443/udp + volumes: + - ./Caddyfile:/etc/caddy/Caddyfile + - caddy_data:/data + - caddy_config:/config + +volumes: + caddy_data: + caddy_config: From 74eae0169e2c7f8bc6dc14c9c9e9d31f9c19a8a2 Mon Sep 17 00:00:00 2001 From: Peter Wood Date: Sat, 22 Feb 2025 21:28:47 -0500 Subject: [PATCH 05/11] add filebrowser service configuration to docker-compose --- filebrowser/compose.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 filebrowser/compose.yaml diff --git a/filebrowser/compose.yaml b/filebrowser/compose.yaml new file mode 100644 index 0000000..e2e647f --- /dev/null +++ b/filebrowser/compose.yaml @@ -0,0 +1,14 @@ +services: + filebrowser: + image: filebrowser/filebrowser:latest + container_name: filebrowser + restart: unless-stopped + volumes: + - /mnt/share/media/tv:/srv + - ./database.db:/database.db + environment: + - PUID=1000 + - PGID=1000 + ports: + - 8212:80 +networks: {} From 36983ee53eb4cc87e0665cfc4da80bd577452df0 Mon Sep 17 00:00:00 2001 From: Peter Wood Date: Sat, 22 Feb 2025 21:30:24 -0500 Subject: [PATCH 06/11] add filebrowser database files to .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 8e78380..456e5ce 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ homepage/config/logs/ speedtest/config/ caddy/caddy* diun/data/ +filebrowser/*.db # stirling pdf/stirling/latest/data/ From 2c370db732b0cd03f81f400759cf423ce27add5f Mon Sep 17 00:00:00 2001 From: Peter Wood Date: Sat, 22 Feb 2025 21:32:03 -0500 Subject: [PATCH 07/11] corrected email in Caddyfil --- caddy/Caddyfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/caddy/Caddyfile b/caddy/Caddyfile index 6161786..47ed626 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -1,6 +1,6 @@ { debug - email peter@peterwood.devdev + email peter@peterwood.dev } jellyfin.peterwood.rocks { From fde90b6722a88326d1b8c9e27fe925b52b7d684d Mon Sep 17 00:00:00 2001 From: Peter Wood Date: Wed, 5 Mar 2025 09:44:55 -0500 Subject: [PATCH 08/11] update Caddyfile reverse proxy and add extra_hosts to docker-compose for improved connectivity --- caddy/Caddyfile | 2 +- caddy/docker-compose.yml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/caddy/Caddyfile b/caddy/Caddyfile index 47ed626..44b0068 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -5,5 +5,5 @@ jellyfin.peterwood.rocks { encode gzip - reverse_proxy https://localhost:8920 + reverse_proxy host.docker.internal:8096 } diff --git a/caddy/docker-compose.yml b/caddy/docker-compose.yml index 943406e..feec6b6 100644 --- a/caddy/docker-compose.yml +++ b/caddy/docker-compose.yml @@ -10,6 +10,8 @@ services: - ./Caddyfile:/etc/caddy/Caddyfile - caddy_data:/data - caddy_config:/config + extra_hosts: + - host.docker.internal:host-gateway volumes: caddy_data: From 271b308b637c1e44a56c200f066ebde5789c3b2e Mon Sep 17 00:00:00 2001 From: Peter Wood Date: Wed, 5 Mar 2025 09:45:51 -0500 Subject: [PATCH 09/11] update dozzle service configuration in docker-compose for enhanced authentication and actions support --- dozzle/docker-compose.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/dozzle/docker-compose.yml b/dozzle/docker-compose.yml index 01de5a0..889b891 100644 --- a/dozzle/docker-compose.yml +++ b/dozzle/docker-compose.yml @@ -6,9 +6,12 @@ services: ports: - 9999:8080 environment: - # DOZZLE_REMOTE_HOST: tcp://ts-vperanda:2375|vperanda,tcp://ts-svr-office:2375 + # DOZZLE_REMOTE_HOST: tcp://ts-rackerd:2375|racknerd,tcp://ts-svr-office:2375|svr-office DOZZLE_HOSTNAME: ${HOSTNAME} + DOZZLE_ENABLE_ACTIONS: true + DOZZLE_AUTH_PROVIDER: forward-proxy + DOZZLE_AUTH_HEADER_USER: ${DOZZLE_AUTH_HEADER_USER} + DOZZLE_AUTH_HEADER_EMAIL: ${DOZZLE_AUTH_HEADER_EMAIL} + DOZZLE_AUTH_HEADER_NAME: ${DOZZLE_AUTH_HEADER_NAME} restart: unless-stopped -networks: - cloudflare_default: - external: true +networks: {} From b2e8f084e71aaf05e0eca124ed6fbd179743fd31 Mon Sep 17 00:00:00 2001 From: Peter Wood Date: Wed, 5 Mar 2025 10:19:41 -0500 Subject: [PATCH 10/11] refactor docker-compose.yml for improved readability and formatting --- immich/docker-compose.yml | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index 711ce63..518f99a 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -7,7 +7,6 @@ # name: immich - services: immich-server: container_name: immich_server @@ -29,7 +28,6 @@ services: restart: always healthcheck: disable: false - immich-machine-learning: container_name: immich_machine_learning # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag. @@ -45,14 +43,12 @@ services: restart: always healthcheck: disable: false - redis: container_name: immich_redis image: docker.io/redis:6.2-alpine@sha256:905c4ee67b8e0aa955331960d2aa745781e6bd89afc44a8584bfd13bc890f0ae 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 @@ -60,29 +56,24 @@ services: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} - POSTGRES_INITDB_ARGS: '--data-checksums' + POSTGRES_INITDB_ARGS: --data-checksums volumes: # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file - ${DB_DATA_LOCATION}:/var/lib/postgresql/data healthcheck: - test: >- - pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1; - Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --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 + test: pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || + exit 1; Chksum="$$(psql --dbname="$${POSTGRES_DB}" + --username="$${POSTGRES_USER}" --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 + 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: + model-cache: null +networks: {} From deb83806369cea44afb52302fbf4260f9a1a2c48 Mon Sep 17 00:00:00 2001 From: Peter Wood Date: Wed, 5 Mar 2025 10:19:49 -0500 Subject: [PATCH 11/11] update .gitignore to include additional directories for exclusion --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitignore b/.gitignore index 7d51608..c54a96c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ +core + cloudflare/tailscale/ media/audiobookshelf/ ntfy/*/ @@ -9,6 +11,9 @@ speedtest/config/ caddy/caddy* diun/data/ filebrowser/*.db +nginxproxymanager/data +nginxproxymanager/letsencrypt +nginxproxymanager/mysql # stirling pdf/stirling/latest/data/