readme
This commit is contained in:
commit
a64e32ffe0
14 changed files with 339 additions and 0 deletions
11
.gitignore
vendored
Normal file
11
.gitignore
vendored
Normal 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
80
Affine/compose.yml
Normal 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
28
Beszel/compose.yml
Normal 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
20
Gitea/compose.yml
Normal 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
15
Gotify/compose.yml
Normal 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
77
Immich/compose.yml
Normal 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
12
Metube/compose.yml
Normal 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
16
N8N/compose.yml
Normal 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
32
NextCloud/compose.yml
Normal 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
11
OpenWebui/compose.yml
Normal 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
11
StirlingPDF/compose.yml
Normal 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
19
TSDProxy/compose.yml
Normal 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
3
start_all.sh
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
for d in */ ; do
|
||||||
|
docker compose -f "$d/compose.yml" up -d
|
||||||
|
done
|
4
stop_all.sh
Executable file
4
stop_all.sh
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
for d in */ ; do
|
||||||
|
docker compose -f "$d/compose.yml" down
|
||||||
|
done
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue