This commit is contained in:
criz 2025-08-31 08:45:07 +02:00
commit a64e32ffe0
14 changed files with 339 additions and 0 deletions

11
.gitignore vendored Normal file
View file

@ -0,0 +1,11 @@
# Ignore everything in the root and all subdirectories
/*
!/*/
# Ignore everything in immediate subdirectories
/*/*
!/*/compose.yml*
!.gitignore
!start_all.sh
!stop_all.sh

80
Affine/compose.yml Normal file
View file

@ -0,0 +1,80 @@
name: affine
services:
affine:
image: ghcr.io/toeverything/affine:${AFFINE_REVISION:-stable}
container_name: affine_server
ports:
- '${PORT:-3010}:3010'
depends_on:
redis:
condition: service_healthy
postgres:
condition: service_healthy
affine_migration:
condition: service_completed_successfully
volumes:
# custom configurations
- ${UPLOAD_LOCATION}:/root/.affine/storage
- ${CONFIG_LOCATION}:/root/.affine/config
env_file:
- .env
environment:
- REDIS_SERVER_HOST=redis
- DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@postgres:5432/${DB_DATABASE:-affine}
- AFFINE_INDEXER_ENABLED=false
restart: unless-stopped
labels:
tsdproxy.enable: "true"
tsdproxy.name: "affine"
affine_migration:
image: ghcr.io/toeverything/affine:${AFFINE_REVISION:-stable}
container_name: affine_migration_job
volumes:
# custom configurations
- ${UPLOAD_LOCATION}:/root/.affine/storage
- ${CONFIG_LOCATION}:/root/.affine/config
command: ['sh', '-c', 'node ./scripts/self-host-predeploy.js']
env_file:
- .env
environment:
- REDIS_SERVER_HOST=redis
- DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@postgres:5432/${DB_DATABASE:-affine}
- AFFINE_INDEXER_ENABLED=false
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
redis:
image: redis
container_name: affine_redis
healthcheck:
test: ['CMD', 'redis-cli', '--raw', 'incr', 'ping']
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
postgres:
image: pgvector/pgvector:pg16
container_name: affine_postgres
volumes:
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
environment:
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: ${DB_DATABASE:-affine}
POSTGRES_INITDB_ARGS: '--data-checksums'
# you better set a password for you database
# or you may add 'POSTGRES_HOST_AUTH_METHOD=trust' to ignore postgres security policy
POSTGRES_HOST_AUTH_METHOD: trust
healthcheck:
test:
['CMD', 'pg_isready', '-U', "${DB_USERNAME}", '-d', "${DB_DATABASE:-affine}"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped

28
Beszel/compose.yml Normal file
View file

@ -0,0 +1,28 @@
services:
beszel:
image: henrygd/beszel
container_name: beszel
restart: unless-stopped
ports:
- 8090:8090
volumes:
- ./beszel_data:/beszel_data
labels:
tsdproxy.enable: "true"
tsdproxy.name: "dash"
beszel-agent:
image: henrygd/beszel-agent
container_name: beszel-agent
restart: unless-stopped
network_mode: host
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./beszel_agent_data:/var/lib/beszel-agent
# monitor other disks / partitions by mounting a folder in /extra-filesystems
- /mnt/disk/.beszel:/extra-filesystems/nvme0n1p2:ro
environment:
LISTEN: 45876
KEY: ${KEY}
TOKEN: ${TOKEN}
HUB_URL: ${HUB_URL}

20
Gitea/compose.yml Normal file
View file

@ -0,0 +1,20 @@
services:
gitea:
image: docker.gitea.com/gitea:1.24.5
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "2221:22"
labels:
tsdproxy.enable: "true"
tsdproxy.name: "git"
tsdproxy.container_port: 3000
tsdproxy.funnel: "true"

15
Gotify/compose.yml Normal file
View file

@ -0,0 +1,15 @@
services:
gotify:
image: gotify/server
ports:
- 8084:80
environment:
GOTIFY_DEFAULTUSER_PASS: 'admin'
volumes:
- './gotify_data:/app/data'
labels:
tsdproxy.enable: "true"
tsdproxy.name: "gotify"
# to run gotify as a dedicated user:
# sudo chown -R 1234:1234 ./gotify_data
# user: "1234:1234"

77
Immich/compose.yml Normal file
View file

@ -0,0 +1,77 @@
#
# WARNING: To install Immich, follow our guide: https://immich.app/docs/install/docker-compose
#
# 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}:/data
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
labels:
tsdproxy.enable: "true"
tsdproxy.name: "photos"
immich-machine-learning:
container_name: immich_machine_learning
# For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] 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, rocm, openvino, openvino-wsl, rknn] 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/valkey/valkey:8-bookworm@sha256:a137a2b60aca1a75130022d6bb96af423fefae4eb55faf395732db3544803280
healthcheck:
test: redis-cli ping || exit 1
restart: always
database:
container_name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:32324a2f41df5de9efe1af166b7008c3f55646f8d0e00d9550c16c9822366b4a
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
# Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
# DB_STORAGE_TYPE: 'HDD'
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
shm_size: 128mb
restart: always
volumes:
model-cache:

12
Metube/compose.yml Normal file
View file

@ -0,0 +1,12 @@
services:
metube:
image: ghcr.io/alexta69/metube
container_name: metube
restart: unless-stopped
ports:
- "8083:8081"
volumes:
- ./metube:/downloads
labels:
tsdproxy.enable: "true"
tsdproxy.name: "ytb-dl"

16
N8N/compose.yml Normal file
View file

@ -0,0 +1,16 @@
services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- 5678:5678
environment:
# - N8N_PROTOCOL=http
- N8N_PORT=5678
- NODE_ENV=production
volumes:
- ./n8n:/home/node/.n8n
- ./local-files:/files
labels:
tsdproxy.enable: "true"
tsdproxy.name: "n8n"

32
NextCloud/compose.yml Normal file
View file

@ -0,0 +1,32 @@
services:
# Nextcloud
nextcloud:
image: nextcloud
container_name: nextcloud
restart: always
ports:
- "8081:80"
networks:
- cloud
volumes:
- ./nextcloud_data:/var/www/html
environment:
- PUID=1000
- PGID=1000
- REDIS_HOST=redis
labels:
tsdproxy.enable: "true"
tsdproxy.name: "cloud"
redis:
image: redis:alpine
container_name: redis
restart: always
volumes:
- ./redis:/data
networks:
- cloud
networks:
cloud:

11
OpenWebui/compose.yml Normal file
View file

@ -0,0 +1,11 @@
services:
open-webui:
ports:
- 3001:8080
volumes:
- ./open-webui:/app/backend/data
container_name: open-webui
image: ghcr.io/open-webui/open-webui:main
labels:
tsdproxy.enable: "true"
tsdproxy.name: "chat"

11
StirlingPDF/compose.yml Normal file
View file

@ -0,0 +1,11 @@
services:
stirling-pdf:
image: stirlingtools/stirling-pdf:latest
restart: always
environment:
- DOCKER_ENABLE_SECURITY=false
labels:
tsdproxy.enable: "true"
tsdproxy.name: "pdf"
ports:
- 8080:8080

19
TSDProxy/compose.yml Normal file
View file

@ -0,0 +1,19 @@
services:
## tsdproxy
tsdproxy:
image: almeidapaulopt/tsdproxy:latest
container_name: tsdproxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- tsdproxydata:/data
environment:
# Get AuthKey from your Tailscale account
- TSDPROXY_AUTHKEY=${TSD_PROXY_AUTH}
# Address of docker server (access to example.com ports)
- TSDPROXY_HOSTNAME=${TSD_PROXY_HOSTNAME}
- DOCKER_HOST=unix:///var/run/docker.sock
restart: always
volumes:
tsdproxydata:

3
start_all.sh Executable file
View file

@ -0,0 +1,3 @@
for d in */ ; do
docker compose -f "$d/compose.yml" up -d
done

4
stop_all.sh Executable file
View file

@ -0,0 +1,4 @@
for d in */ ; do
docker compose -f "$d/compose.yml" down
done