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