Add initial docker-compose.yml files to git
This commit is contained in:
commit
f368da8bf9
7 changed files with 233 additions and 0 deletions
23
.gitignore
vendored
Normal file
23
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
.env
|
||||||
|
portainer_data
|
||||||
|
|
||||||
|
# Environment Files (alle .env im Projekt)
|
||||||
|
*.env
|
||||||
|
|
||||||
|
# Docker Named Volumes / Datenverzeichnisse
|
||||||
|
*_data/
|
||||||
|
*-data/
|
||||||
|
data/
|
||||||
|
logs/
|
||||||
|
mysql/
|
||||||
|
postgres_data/
|
||||||
|
n8n_data/
|
||||||
|
letsencrypt/
|
||||||
|
|
||||||
|
# Logs
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# Temporäre Dateien
|
||||||
|
*.tmp
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
60
forgejo/docker-compose.yml
Normal file
60
forgejo/docker-compose.yml
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
forgejo:
|
||||||
|
image: codeberg.org/forgejo/forgejo:10.0.0-rootless # Rootless = sicherer
|
||||||
|
container_name: forgejo
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- USER_UID=1000
|
||||||
|
- USER_GID=1000
|
||||||
|
- GITEA__database__DB_TYPE=postgres
|
||||||
|
- GITEA__database__HOST=postgres:5432
|
||||||
|
- GITEA__database__NAME=forgejo
|
||||||
|
- GITEA__database__USER=forgejo
|
||||||
|
- GITEA__database__PASSWD=${DB_PASSWORD}
|
||||||
|
- GITEA__server__DOMAIN=${DOMAIN_NAME}
|
||||||
|
- GITEA__server__ROOT_URL=https://${DOMAIN_NAME}/
|
||||||
|
- GITEA__server__HTTP_PORT=3000
|
||||||
|
- GITEA__server__SSH_DOMAIN=${DOMAIN_NAME}
|
||||||
|
- GITEA__server__SSH_PORT=222
|
||||||
|
- TZ=${TIMEZONE}
|
||||||
|
volumes:
|
||||||
|
- forgejo_data:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
ports:
|
||||||
|
- "3000:3000" # Web UI
|
||||||
|
- "222:22" # SSH (nicht 22, da Host SSH läuft!)
|
||||||
|
depends_on:
|
||||||
|
postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
networks:
|
||||||
|
- forgejo-net
|
||||||
|
- npm-network
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: postgres:16-alpine
|
||||||
|
container_name: forgejo-db
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=forgejo
|
||||||
|
- POSTGRES_PASSWORD=${DB_PASSWORD}
|
||||||
|
- POSTGRES_DB=forgejo
|
||||||
|
volumes:
|
||||||
|
- postgres_data:/var/lib/postgresql/data
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U forgejo -d forgejo"]
|
||||||
|
interval: 10s
|
||||||
|
retries: 5
|
||||||
|
networks:
|
||||||
|
- forgejo-net
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
forgejo_data:
|
||||||
|
postgres_data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
forgejo-net:
|
||||||
|
internal: true
|
||||||
|
npm-network:
|
||||||
|
external: true
|
||||||
64
n8n/docker-compose.yml
Normal file
64
n8n/docker-compose.yml
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
n8n:
|
||||||
|
image: n8nio/n8n:1.76.1 # Aktuelle stabile Version (Pinning empfohlen!)
|
||||||
|
container_name: n8n
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "5678:5678"
|
||||||
|
environment:
|
||||||
|
- GENERIC_TIMEZONE=${TIMEZONE}
|
||||||
|
- TZ=${TIMEZONE}
|
||||||
|
# Datenbank-Verbindung
|
||||||
|
- DB_TYPE=postgresdb
|
||||||
|
- DB_POSTGRESDB_HOST=postgres
|
||||||
|
- DB_POSTGRESDB_PORT=5432
|
||||||
|
- DB_POSTGRESDB_DATABASE=${DB_NAME}
|
||||||
|
- DB_POSTGRESDB_USER=${DB_USER}
|
||||||
|
- DB_POSTGRESDB_PASSWORD=${DB_PASSWORD}
|
||||||
|
# Webhook/Proxy Settings (Wichtig für externe Erreichbarkeit)
|
||||||
|
- N8N_HOST=${DOMAIN_NAME}
|
||||||
|
- N8N_PORT=5678
|
||||||
|
- N8N_PROTOCOL=https
|
||||||
|
- WEBHOOK_URL=https://${DOMAIN_NAME}/
|
||||||
|
# Auto-Cleanup (Verhindert Datenbank-Explosion)
|
||||||
|
- EXECUTIONS_DATA_PRUNE=true
|
||||||
|
- EXECUTIONS_DATA_MAX_AGE=336 # Behalte Daten für 14 Tage (336 Stunden)
|
||||||
|
- EXECUTIONS_DATA_PRUNE_MAX_COUNT=50000 # Max 50k Einträge
|
||||||
|
volumes:
|
||||||
|
- n8n_data:/home/node/.n8n
|
||||||
|
depends_on:
|
||||||
|
postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
networks:
|
||||||
|
- n8n-net
|
||||||
|
- npm-network
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: postgres:16-alpine # Neueste stabile Postgres Version
|
||||||
|
container_name: n8n-db
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=${DB_USER}
|
||||||
|
- POSTGRES_PASSWORD=${DB_PASSWORD}
|
||||||
|
- POSTGRES_DB=${DB_NAME}
|
||||||
|
volumes:
|
||||||
|
- postgres_data:/var/lib/postgresql/data
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
networks:
|
||||||
|
- n8n-net
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
n8n_data:
|
||||||
|
postgres_data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
n8n-net:
|
||||||
|
internal: true
|
||||||
|
npm-network:
|
||||||
|
external: true
|
||||||
18
npm/docker-compose.yml
Normal file
18
npm/docker-compose.yml
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: jc21/nginx-proxy-manager:latest
|
||||||
|
container_name: nginx-proxy-manager
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- 80:80
|
||||||
|
- 81:81
|
||||||
|
- 443:443
|
||||||
|
volumes:
|
||||||
|
- ./data:/data # Hier liegt Ihre database.sqlite drin!
|
||||||
|
- ./letsencrypt:/etc/letsencrypt
|
||||||
|
networks:
|
||||||
|
- npm-network
|
||||||
|
|
||||||
|
networks:
|
||||||
|
npm-network:
|
||||||
|
external: true
|
||||||
26
onlyoffice/docker-compose.yml
Normal file
26
onlyoffice/docker-compose.yml
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
documentserver:
|
||||||
|
image: onlyoffice/documentserver:8.3.0 # Pinne Version statt 'latest'
|
||||||
|
container_name: onlyoffice-documentserver
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "8084:80"
|
||||||
|
environment:
|
||||||
|
- JWT_ENABLED=${JWT_ENABLED}
|
||||||
|
- JWT_SECRET=${JWT_SECRET}
|
||||||
|
- JWT_HEADER=${JWT_HEADER}
|
||||||
|
- JWT_IN_BODY=${JWT_IN_BODY}
|
||||||
|
- TZ=${TIMEZONE}
|
||||||
|
# OnlyOffice braucht oft etwas mehr Ressourcen für Rendering
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 2G # Optional: Begrenzt RAM-Nutzung
|
||||||
|
networks:
|
||||||
|
- npm-network # Für NPM-Proxy
|
||||||
|
|
||||||
|
networks:
|
||||||
|
npm-network:
|
||||||
|
external: true
|
||||||
16
portainer/docker-compose.yml
Normal file
16
portainer/docker-compose.yml
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
services:
|
||||||
|
portainer:
|
||||||
|
image: portainer/portainer-ce:latest
|
||||||
|
container_name: portainer
|
||||||
|
restart: always
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
- portainer_data:/data
|
||||||
|
ports:
|
||||||
|
- 9443:9443
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
portainer_data:
|
||||||
26
spdf/docker-compose.yml
Normal file
26
spdf/docker-compose.yml
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
stirling-pdf:
|
||||||
|
image: frooodle/s-pdf:0.44.1 # Beispiel: stabile Version pinnen, nicht 'latest'
|
||||||
|
container_name: stirling-pdf
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "9080:8080"
|
||||||
|
environment:
|
||||||
|
# Nur wenn du wirklich zusätzliche Security-Features deaktivieren willst
|
||||||
|
- DOCKER_ENABLE_SECURITY=${DOCKER_ENABLE_SECURITY}
|
||||||
|
- TZ=${TIMEZONE}
|
||||||
|
volumes:
|
||||||
|
# Named Volumes für persistente Daten / Konfiguration
|
||||||
|
- s-pdf-trainingData:/usr/share/tesseract-ocr/4.00/tessdata
|
||||||
|
- s-pdf-extraConfigs:/configs
|
||||||
|
- s-pdf-customFiles:/customFiles
|
||||||
|
# Optional leichte Härtung
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
s-pdf-trainingData:
|
||||||
|
s-pdf-extraConfigs:
|
||||||
|
s-pdf-customFiles:
|
||||||
Loading…
Add table
Reference in a new issue