Add test server compose files
This commit is contained in:
parent
1eabcaef08
commit
c4b89265ff
22
servers/sunstreaker/backrest/compose.yaml
Normal file
22
servers/sunstreaker/backrest/compose.yaml
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
services:
|
||||||
|
backrest:
|
||||||
|
image: ghcr.io/garethgeorge/backrest:latest
|
||||||
|
container_name: backrest
|
||||||
|
hostname: backrest
|
||||||
|
volumes:
|
||||||
|
- /home/thomas/backrest/data:/data
|
||||||
|
- /home/thomas/backrest/config:/config
|
||||||
|
- /home/thomas/backrest/cache:/cache
|
||||||
|
- /home/thomas/backrest/tmp:/tmp
|
||||||
|
- /home/thomas/backrest/rclone:/root/.config/rclone # Mount for rclone config (needed when using rclone remotes)
|
||||||
|
# - /path/to/backup/data:/userdata # Mount local paths to backup
|
||||||
|
# - /path/to/local/repos:/repos # Mount local repos (optional for remote storage)
|
||||||
|
environment:
|
||||||
|
- BACKREST_DATA=/data
|
||||||
|
- BACKREST_CONFIG=/config/config.json
|
||||||
|
- XDG_CACHE_HOME=/cache
|
||||||
|
- TMPDIR=/tmp
|
||||||
|
- TZ=Europe/Zurich
|
||||||
|
ports:
|
||||||
|
- "9898:9898"
|
||||||
|
restart: unless-stopped
|
||||||
6
servers/sunstreaker/immich/.env.example
Normal file
6
servers/sunstreaker/immich/.env.example
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
UPLOAD_LOCATION=./library
|
||||||
|
DB_DATA_LOCATION=./postgres
|
||||||
|
IMMICH_VERSION=v3.3.3
|
||||||
|
DB_PASSWORD=postgres
|
||||||
|
DB_USERNAME=postgres
|
||||||
|
DB_DATABASE_NAME=immich
|
||||||
96
servers/sunstreaker/immich/compose.yaml
Normal file
96
servers/sunstreaker/immich/compose.yaml
Normal file
|
|
@ -0,0 +1,96 @@
|
||||||
|
#
|
||||||
|
# WARNING: To install Immich, follow our guide: https://docs.immich.app/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:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.immich.rule=Host(`immich.${LOCAL_DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.immich.entrypoints=https"
|
||||||
|
- "traefik.http.routers.immich.tls=true"
|
||||||
|
- "traefik.http.services.immich.loadbalancer.server.port=2283"
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
# extra_hosts:
|
||||||
|
# - "auth.test.thethomaas.net:192.168.1.25"
|
||||||
|
# - "pocket-id:192.168.1.25"
|
||||||
|
# - "auth.test.thethomaas.net=host-gateway"
|
||||||
|
|
||||||
|
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://docs.immich.app/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
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
|
||||||
|
redis:
|
||||||
|
container_name: immich_redis
|
||||||
|
image: docker.io/valkey/valkey:9@sha256:fb8d272e529ea567b9bf1302245796f21a2672b8368ca3fcb938ac334e613c8f
|
||||||
|
healthcheck:
|
||||||
|
test: redis-cli ping || exit 1
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
|
||||||
|
database:
|
||||||
|
container_name: immich_postgres
|
||||||
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
|
||||||
|
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
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
model-cache:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
12
servers/sunstreaker/pocket-id/.env.example
Normal file
12
servers/sunstreaker/pocket-id/.env.example
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
APP_URL=
|
||||||
|
# Encryption key (choose one method):
|
||||||
|
# Method 1: Direct key (simple but less secure)
|
||||||
|
# Generate with: openssl rand -base64 32
|
||||||
|
ENCRYPTION_KEY=
|
||||||
|
# Method 2: File-based key (recommended)
|
||||||
|
# Put the base64 key in a file and point to it here.
|
||||||
|
# ENCRYPTION_KEY_FILE=/path/to/encryption_key
|
||||||
|
TRUST_PROXY=false
|
||||||
|
MAXMIND_LICENSE_KEY=
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
||||||
28
servers/sunstreaker/pocket-id/compose.yaml
Normal file
28
servers/sunstreaker/pocket-id/compose.yaml
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
services:
|
||||||
|
pocket-id:
|
||||||
|
image: ghcr.io/pocket-id/pocket-id:v1
|
||||||
|
restart: unless-stopped
|
||||||
|
env_file: .env
|
||||||
|
volumes:
|
||||||
|
- "./data:/app/data"
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD", "/app/pocket-id", "healthcheck" ]
|
||||||
|
interval: 1m30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 2
|
||||||
|
start_period: 10s
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.pocketid.rule=Host(`auth.${LOCAL_DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.pocketid.entrypoints=https"
|
||||||
|
- "traefik.http.routers.pocketid.tls=true"
|
||||||
|
- "traefik.http.services.pocketid.loadbalancer.server.port=1411"
|
||||||
|
# - "traefik.http.middlewares.pocketid.forwardAuth.address='http://pocket_id:3000/api/authz/forward-auth'"
|
||||||
|
# - "traefik.http.middlewares.pocketid.forwardAuth.trustForwardHeader=true"
|
||||||
|
# - "traefik.http.middlewares.pocketid.forwardAuth.authResponseHeaders='Remote-User,Remote-Name,Remote-Email,Remote-Groups'"
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
1
servers/sunstreaker/zerobyte/.env.example
Normal file
1
servers/sunstreaker/zerobyte/.env.example
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
APP_SECRET=
|
||||||
18
servers/sunstreaker/zerobyte/compose.yaml
Normal file
18
servers/sunstreaker/zerobyte/compose.yaml
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
services:
|
||||||
|
zerobyte:
|
||||||
|
image: ghcr.io/nicotsx/zerobyte:v0.24.2
|
||||||
|
container_name: zerobyte
|
||||||
|
restart: unless-stopped
|
||||||
|
cap_add:
|
||||||
|
- SYS_ADMIN
|
||||||
|
ports:
|
||||||
|
- "4096:4096"
|
||||||
|
devices:
|
||||||
|
- /dev/fuse:/dev/fuse
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Zurich # Set your timezone here
|
||||||
|
- BASE_URL=http://192.168.1.25:4096 # URL you will use to access Zerobyte
|
||||||
|
- APP_SECRET=${APP_SECRET} # Generate your own secret with `openssl rand -hex 32`
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /home/thomas/zerobyte:/var/lib/zerobyte
|
||||||
Loading…
Reference in a new issue