- Add note pointing to where linuxserver image env var names can be discovered (/config/www/.env inside the running container) - Mention the image's command for generating APP_KEY
536 lines
14 KiB
YAML
536 lines
14 KiB
YAML
---
|
|
# ts-CATALOG: canonical deployment characteristics for all DAM ts-* services.
|
|
# Read by skill:ts-app-deploy to make smart, per-app decisions about
|
|
# compose configuration (which DB service to include, what port to use,
|
|
# what env vars to set, etc.).
|
|
|
|
schema_version: 1
|
|
|
|
# Allowed enum values for each categorization field.
|
|
# Keep these in sync if you add new categories.
|
|
enums:
|
|
db:
|
|
- none
|
|
- sqlite
|
|
- postgres
|
|
- mysql
|
|
- mariadb
|
|
architecture:
|
|
- single
|
|
- app_db
|
|
- app_db_cache
|
|
- multi_service
|
|
first_run:
|
|
- setup_wizard
|
|
- auto
|
|
- seeded
|
|
- none
|
|
test_status:
|
|
- untested
|
|
- in_progress
|
|
- verified
|
|
- broken
|
|
|
|
apps:
|
|
# ============================================================
|
|
# VERIFIED (end-to-end tested on the Mac mini)
|
|
# ============================================================
|
|
|
|
- service: vikunja
|
|
display_name: Vikunja
|
|
image: vikunja/vikunja
|
|
image_tag: "0.24"
|
|
port: 3456
|
|
db: postgres
|
|
architecture: app_db
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-vikunja
|
|
notes: |
|
|
- PUBLICURL/FRONTENDURL must match access URL or 404 on root.
|
|
- DB host must be 127.0.0.1 (not "db") due to network_mode namespace sharing.
|
|
- DB password and JWT secret required.
|
|
- When using Headscale, hardcode the hostname in serve.headscale.json.
|
|
|
|
# ============================================================
|
|
# CATEGORIZED (educated guess from known docs/patterns).
|
|
# Marked "untested" until verified on the Mac mini.
|
|
# ============================================================
|
|
|
|
- service: adguard
|
|
display_name: AdGuard Home
|
|
image: adguard/adguardhome
|
|
image_tag: latest
|
|
port: 3000
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-adguard
|
|
|
|
- service: appflowy
|
|
display_name: AppFlowy
|
|
image: appflowyio/appflowy_cloud
|
|
image_tag: latest
|
|
port: 8000
|
|
db: postgres
|
|
architecture: multi_service
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-appflowy
|
|
notes: |
|
|
Has its own appflowy_server + gotrue components. Consider single postgres.
|
|
|
|
- service: authentik
|
|
display_name: Authentik
|
|
image: ghcr.io/goauthentik/server
|
|
image_tag: latest
|
|
port: 9000
|
|
db: postgres
|
|
architecture: app_db_cache
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-authentik
|
|
notes: |
|
|
Needs Redis in addition to Postgres. Check for worker/redis services.
|
|
|
|
- service: babybuddy
|
|
display_name: Baby Buddy
|
|
image: linuxserver/babybuddy
|
|
image_tag: latest
|
|
port: 8000
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-babybuddy
|
|
|
|
- service: bookstack
|
|
display_name: BookStack
|
|
image: linuxserver/bookstack
|
|
image_tag: latest
|
|
port: 80
|
|
db: mariadb
|
|
architecture: app_db
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-bookstack
|
|
notes: |
|
|
linuxserver image — see /config/www/.env in the running container
|
|
for the actual env var names this image expects. Generate APP_KEY
|
|
with the image's `appkey` command.
|
|
|
|
- service: calibre-web
|
|
display_name: Calibre-Web
|
|
image: linuxserver/calibre-web
|
|
image_tag: latest
|
|
port: 8083
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-calibre-web
|
|
notes: |
|
|
Expects an existing Calibre library mounted as a volume.
|
|
|
|
- service: focalboard
|
|
display_name: Focalboard
|
|
image: mattermost/focalboard
|
|
image_tag: latest
|
|
port: 8000
|
|
db: postgres
|
|
architecture: app_db
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-focalboard
|
|
|
|
- service: freshrss
|
|
display_name: FreshRSS
|
|
image: linuxserver/freshrss
|
|
image_tag: latest
|
|
port: 80
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: auto
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-freshrss
|
|
|
|
- service: gitea
|
|
display_name: Gitea
|
|
image: gitea/gitea
|
|
image_tag: latest
|
|
port: 3000
|
|
db: postgres
|
|
architecture: app_db
|
|
first_run: auto
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-gitea
|
|
|
|
- service: grafana
|
|
display_name: Grafana
|
|
image: grafana/grafana
|
|
image_tag: latest
|
|
port: 3000
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: auto
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-grafana
|
|
|
|
- service: harbor
|
|
display_name: Harbor
|
|
image: goharbor/harbor-core
|
|
image_tag: latest
|
|
port: 8080
|
|
db: postgres
|
|
architecture: app_db_cache
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-harbor
|
|
notes: |
|
|
Complex multi-service app. Likely needs separate chart or compose fragment.
|
|
|
|
- service: home-assistant
|
|
display_name: Home Assistant
|
|
image: homeassistant/home-assistant
|
|
image_tag: latest
|
|
port: 8123
|
|
db: none
|
|
architecture: single
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-home-assistant
|
|
|
|
- service: homepage
|
|
display_name: Homepage
|
|
image: ghcr.io/gethomepage/homepage
|
|
image_tag: latest
|
|
port: 3000
|
|
db: none
|
|
architecture: single
|
|
first_run: auto
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-homepage
|
|
|
|
- service: immich
|
|
display_name: Immich
|
|
image: ghcr.io/immich-app/immich-server
|
|
image_tag: release
|
|
port: 2283
|
|
db: postgres
|
|
architecture: multi_service
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-immich
|
|
notes: |
|
|
Heavy: needs postgres + redis + machine-learning service + large media volume.
|
|
|
|
- service: invoiceplane
|
|
display_name: InvoicePlane
|
|
image: invoiceplane/invoiceplane
|
|
image_tag: latest
|
|
port: 80
|
|
db: mysql
|
|
architecture: app_db
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-invoiceplane
|
|
|
|
- service: jellyfin
|
|
display_name: Jellyfin
|
|
image: jellyfin/jellyfin
|
|
image_tag: latest
|
|
port: 8096
|
|
db: none
|
|
architecture: single
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-jellyfin
|
|
notes: |
|
|
Optionally benefits from GPU passthrough for hardware transcoding.
|
|
|
|
- service: kavita
|
|
display_name: Kavita
|
|
image: kiza19/kavita
|
|
image_tag: latest
|
|
port: 5000
|
|
db: postgres
|
|
architecture: app_db
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-kavita
|
|
|
|
- service: lidarr
|
|
display_name: Lidarr
|
|
image: hotio/lidarr
|
|
image_tag: latest
|
|
port: 8686
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-lidarr
|
|
|
|
- service: linkwarden
|
|
display_name: Linkwarden
|
|
image: ghcr.io/linkwarden/linkwarden
|
|
image_tag: latest
|
|
port: 3000
|
|
db: postgres
|
|
architecture: app_db
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-linkwarden
|
|
|
|
- service: mealie
|
|
display_name: Mealie
|
|
image: ghcr.io/mealie-recipes/mealie
|
|
image_tag: latest
|
|
port: 9000
|
|
db: postgres
|
|
architecture: app_db
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-mealie
|
|
|
|
- service: netdata
|
|
display_name: Netdata
|
|
image: netdata/netdata
|
|
image_tag: latest
|
|
port: 19999
|
|
db: none
|
|
architecture: single
|
|
first_run: auto
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-netdata
|
|
|
|
- service: nextcloud-all-in-one
|
|
display_name: Nextcloud AIO
|
|
image: nextcloud/all-in-one
|
|
image_tag: latest
|
|
port: 11000
|
|
db: mariadb
|
|
architecture: multi_service
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-nextcloud-all-in-one
|
|
notes: |
|
|
AIO manages its own DB internally. Be careful exposing ports.
|
|
|
|
- service: node-red
|
|
display_name: Node-RED
|
|
image: nodered/node-red
|
|
image_tag: latest
|
|
port: 1880
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: auto
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-node-red
|
|
|
|
- service: overseerr
|
|
display_name: Overseerr
|
|
image: hotio/overseerr
|
|
image_tag: latest
|
|
port: 5055
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-overseerr
|
|
|
|
- service: paperless-ngx
|
|
display_name: Paperless-ngx
|
|
image: ghcr.io/paperless-ngx/paperless-ngx
|
|
image_tag: latest
|
|
port: 8000
|
|
db: postgres
|
|
architecture: multi_service
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-paperless-ngx
|
|
notes: |
|
|
Needs Postgres + Redis broker (Celery). Heavy document storage.
|
|
|
|
- service: photoprism
|
|
display_name: Photoprism
|
|
image: photoprism/photoprism
|
|
image_tag: latest
|
|
port: 2342
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-photoprism
|
|
|
|
- service: prowlarr
|
|
display_name: Prowlarr
|
|
image: hotio/prowlarr
|
|
image_tag: latest
|
|
port: 9696
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-prowlarr
|
|
|
|
- service: radarr
|
|
display_name: Radarr
|
|
image: hotio/radarr
|
|
image_tag: latest
|
|
port: 7878
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-radarr
|
|
|
|
- service: searchxng
|
|
display_name: SearXNG
|
|
image: searxng/searxng
|
|
image_tag: latest
|
|
port: 8080
|
|
db: none
|
|
architecture: single
|
|
first_run: auto
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-searchxng
|
|
|
|
- service: shiori
|
|
display_name: Shiori
|
|
image: ghcr.io/go-shiori/shiori
|
|
image_tag: latest
|
|
port: 8080
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-shiori
|
|
|
|
- service: sonarr
|
|
display_name: Sonarr
|
|
image: hotio/sonarr
|
|
image_tag: latest
|
|
port: 8989
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-sonarr
|
|
|
|
- service: stirling-pdf
|
|
display_name: Stirling PDF
|
|
image: stirlingtools/stirling-pdf
|
|
image_tag: latest
|
|
port: 8080
|
|
db: none
|
|
architecture: single
|
|
first_run: auto
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-stirling-pdf
|
|
|
|
- service: tautulli
|
|
display_name: Tautulli
|
|
image: hotio/tautulli
|
|
image_tag: latest
|
|
port: 8181
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: auto
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-tautulli
|
|
|
|
- service: trilium-notes
|
|
display_name: Trilium Notes
|
|
image: zadam/trilium
|
|
image_tag: latest
|
|
port: 8080
|
|
db: postgres
|
|
architecture: app_db
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-trilium-notes
|
|
|
|
- service: uptime-kuma
|
|
display_name: Uptime Kuma
|
|
image: louislam/uptime-kuma
|
|
image_tag: "1"
|
|
port: 3001
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-uptime-kuma
|
|
notes: |
|
|
Single container, SQLite-backed. No external DB needed.
|
|
Drop the db service entirely.
|
|
Data volume path is /app/data/uptime-kuma (NOT /data).
|
|
Only net_admin needed (not sys_module).
|
|
USE NAMED VOLUMES (NOT BIND MOUNTS) FOR DATA - macOS Docker Desktop
|
|
has gRPC-FUSE UID remapping that breaks chown inside containers.
|
|
Named volumes work identically on macOS + Linux.
|
|
TS_EXTRA_ARGS=--login-server=${TS_LOGIN_SERVER} required for Headscale.
|
|
tailscale/config volume mount required for serve.json.
|
|
|
|
- service: vaultwarden
|
|
display_name: Vaultwarden
|
|
image: vaultwarden/server
|
|
image_tag: latest
|
|
port: 80
|
|
db: sqlite
|
|
architecture: single
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-vaultwarden
|
|
notes: |
|
|
WebSocket support required for live notifications. Use a single container.
|
|
|
|
- service: woodpecker
|
|
display_name: Woodpecker CI
|
|
image: woodpeckerci/woodpecker-server
|
|
image_tag: latest
|
|
port: 8000
|
|
db: postgres
|
|
architecture: app_db
|
|
first_run: setup_wizard
|
|
test_status: verified
|
|
test_date: 2026-08-02
|
|
repo: https://gitea.damconsulting.llc/dam/ts-woodpecker
|