183 lines
4.5 KiB
YAML
183 lines
4.5 KiB
YAML
name: productivity
|
|
|
|
secrets:
|
|
db_password:
|
|
file: ./secrets/db_password.txt
|
|
|
|
networks:
|
|
# Verbindung zum Core-Stack (Postgres/Redis)
|
|
core_net:
|
|
external: true
|
|
|
|
services:
|
|
# --- Dokumente (Port 8000) ---
|
|
paperless:
|
|
image: ghcr.io/paperless-ngx/paperless-ngx:latest
|
|
container_name: paperless
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8000:8000"
|
|
environment:
|
|
PAPERLESS_URL: https://paperless.deinedomain.de
|
|
PAPERLESS_TIME_ZONE: ${TZ}
|
|
PAPERLESS_DBHOST: postgres-core
|
|
PAPERLESS_DBNAME: main_db
|
|
PAPERLESS_DBUSER: admin
|
|
PAPERLESS_DBPASS_FILE: /run/secrets/db_password
|
|
PAPERLESS_REDIS: redis://redis-core:6379
|
|
secrets:
|
|
- db_password
|
|
volumes:
|
|
- ./data/paperless/data:/usr/src/paperless/data
|
|
- ./data/paperless/media:/usr/src/paperless/media
|
|
- ./data/paperless/consume:/usr/src/paperless/consume
|
|
networks:
|
|
- core_net
|
|
- default
|
|
|
|
# --- Focalboard (Port 8001) ---
|
|
focalboard:
|
|
image: mattermost/focalboard
|
|
container_name: focalboard
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8001:8000"
|
|
networks:
|
|
- default
|
|
- core_net
|
|
|
|
# --- PDF Tools (Port 8002) ---
|
|
stirling-pdf:
|
|
image: frooodle/s-pdf:latest
|
|
container_name: stirling-pdf
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8002:8080"
|
|
environment:
|
|
- DOCKER_ENABLE_SECURITY=false
|
|
networks:
|
|
- default
|
|
|
|
# --- Gramps Web (Port 8003) ---
|
|
# Web-Version der Ahnenforschung
|
|
gramps:
|
|
image: ghcr.io/gramps-project/gramps-web:latest
|
|
container_name: gramps
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8003:5000"
|
|
environment:
|
|
GRAMPSWEB_TREE: "Stammbaum"
|
|
GRAMPSWEB_CELERY_CONFIG__broker_url: "redis://redis-core:6379/0" # Nutzt Core Redis
|
|
volumes:
|
|
- ./data/gramps/users:/app/users
|
|
- ./data/gramps/index:/app/index
|
|
networks:
|
|
- default
|
|
- core_net
|
|
|
|
# --- Silverbullet (Port 8004) ---
|
|
# Markdown Notizen
|
|
silverbullet:
|
|
image: zefhemel/silverbullet
|
|
container_name: silverbullet
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8004:3000"
|
|
volumes:
|
|
- ./data/silverbullet:/space
|
|
networks:
|
|
- default
|
|
|
|
# --- Rx Resume (Port 8005) ---
|
|
# Lebenslauf Builder (Standalone/Simple Mode)
|
|
rx-resume:
|
|
image: amruthpillai/reactive-resume:latest
|
|
container_name: rx_resume
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8005:3000"
|
|
environment:
|
|
# Benötigt zwingend eine Datenbank (Core Postgres)
|
|
- POSTGRES_DB=main_db
|
|
- POSTGRES_USER=admin
|
|
- POSTGRES_PASSWORD_FILE=/run/secrets/db_password
|
|
- POSTGRES_HOST=postgres-core
|
|
- POSTGRES_PORT=5432
|
|
- PUBLIC_URL=http://deine-ip:8005
|
|
secrets:
|
|
- db_password
|
|
networks:
|
|
- core_net
|
|
- default
|
|
|
|
# --- Fossflow / Projektmanagement (Port 8006) ---
|
|
# Annahme: Leantime oder OpenProject? (Image prüfen!)
|
|
fossflow:
|
|
image: leantime/leantime:latest # Placeholder: Leantime ist ein guter Kandidat
|
|
container_name: fossflow
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8006:80"
|
|
environment:
|
|
- LEAN_DB_HOST=postgres-core
|
|
- LEAN_DB_USER=admin
|
|
- LEAN_DB_PASSWORD_FILE=/run/secrets/db_password
|
|
- LEAN_DB_DATABASE=main_db
|
|
secrets:
|
|
- db_password
|
|
volumes:
|
|
- ./data/fossflow:/var/www/html/public/userfiles
|
|
networks:
|
|
- core_net
|
|
- default
|
|
|
|
# --- Trip / Reisen (Port 8007) ---
|
|
# Annahme: TravelMap
|
|
trip:
|
|
image: jilguy/travelmap:latest
|
|
container_name: trip
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8007:80"
|
|
volumes:
|
|
- ./data/trip:/var/www/html/data
|
|
networks:
|
|
- default
|
|
|
|
# --- Norish / Rezepte (Port 8008) ---
|
|
# Annahme: Mealie (Sehr populär für Rezepte)
|
|
norish:
|
|
image: ghcr.io/mealie-recipes/mealie:latest
|
|
container_name: norish
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8008:9000" # Mealie nutzt intern 9000
|
|
volumes:
|
|
- ./data/norish:/app/data
|
|
networks:
|
|
- default
|
|
|
|
# --- Koffan / Einkaufszettel (Port 8009) ---
|
|
# Annahme: KitchenOwl oder Grocy
|
|
koffan:
|
|
image: tombursch/kitchenowl:latest
|
|
container_name: koffan
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8009:80"
|
|
networks:
|
|
- default
|
|
|
|
# --- Yubal / YT Downloader (Port 8010) ---
|
|
# Annahme: MeTube (bester simpler Web-Downloader)
|
|
yubal:
|
|
image: alexta69/metube:latest
|
|
container_name: yubal
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8010:8081" # MeTube nutzt intern 8081
|
|
volumes:
|
|
- /mnt/storage/downloads:/downloads # Pfad anpassen!
|
|
networks:
|
|
- default |