init
This commit is contained in:
3
Home/Node1/productivity/.env
Normal file
3
Home/Node1/productivity/.env
Normal file
@@ -0,0 +1,3 @@
|
||||
TZ=Europe/Berlin
|
||||
PUID=1000
|
||||
PGID=1000
|
||||
183
Home/Node1/productivity/docker-compose.yml
Normal file
183
Home/Node1/productivity/docker-compose.yml
Normal file
@@ -0,0 +1,183 @@
|
||||
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
|
||||
Reference in New Issue
Block a user