init all current docker compose files

This commit is contained in:
theoleuthardt 2025-07-16 11:11:24 +00:00
parent 3694b45ece
commit adc70638d1
12 changed files with 432 additions and 0 deletions

View file

@ -0,0 +1,53 @@
services:
# PostgreSQL Datenbank für AWX
postgres:
image: postgres:latest
container_name: awx_postgres
restart: unless-stopped
volumes:
- postgres_data:/var/lib/postgresql/data
environment:
POSTGRES_USER: awx
POSTGRES_PASSWORD: 58201928alsk
POSTGRES_DB: awx
# Redis für AWX Caching und Messaging
redis:
image: redis:latest
container_name: awx_redis
restart: unless-stopped
command: redis-server --appendonly yes
volumes:
- redis_data:/data
# AWX Web und Task Container
awx:
image: quay.io/ansible/awx:latest
container_name: awx_web
restart: unless-stopped
depends_on:
- postgres
- redis
volumes:
- awx_data:/var/lib/awx
- awx_projects:/var/lib/awx/projects
# Optional: Wenn du SSH-Keys für Git brauchst
- ${HOME}/.ssh/id_rsa:/root/.ssh/id_rsa:ro
environment:
DATABASE_NAME: awx
DATABASE_USER: awx
DATABASE_PASSWORD: 58201928alsk
DATABASE_HOST: postgres
DATABASE_PORT: 5432
REDIS_HOST: redis
REDIS_PORT: 6379
AWX_ADMIN_USER: admin
AWX_ADMIN_PASSWORD: 58201928alsk
ports:
- "8052:8052"
volumes:
postgres_data:
redis_data:
awx_data:
awx_projects:

View file

@ -0,0 +1,40 @@
services:
influxdb:
image: influxdb:latest
container_name: influxdb
restart: always
environment:
INFLUXDB_DB: 'monitoringdb' # Name der InfluxDB-Datenbank
INFLUXDB_ADMIN_USER: 'admin' # Admin Benutzername
INFLUXDB_ADMIN_PASSWORD: '58201928alsk' # Admin Passwort
INFLUXDB_USER: 'theo' # Grafana Benutzername
INFLUXDB_USER_PASSWORD: 'Ftul7103oy!' # Grafana Passwort
volumes:
- influxdb_data:/var/lib/influxdb # Persistente Daten für InfluxDB
ports:
- "8086:8086" # Port für InfluxDB API
networks:
- monitoring
grafana:
image: grafana/grafana:latest
container_name: grafana
restart: always
environment:
GF_SECURITY_ADMIN_PASSWORD: '58201928alsk' # Grafana Admin Passwort
volumes:
- grafana_data:/var/lib/grafana # Persistente Daten für Grafana
ports:
- "3000:3000" # Webinterface für Grafana
depends_on:
- influxdb
networks:
- monitoring
volumes:
influxdb_data:
grafana_data:
networks:
monitoring:
driver: bridge

79
immich/docker-compose.yml Normal file
View file

@ -0,0 +1,79 @@
#
# WARNING: 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
- immich_data:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
redis:
container_name: immich_redis
image: docker.io/redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8
healthcheck:
test: redis-cli ping || exit 1
restart: always
database:
container_name: immich_postgres
image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
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
- immich_db:/var/lib/postgresql/data
healthcheck:
test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1
interval: 5m
start_interval: 30s
start_period: 5m
command:
[
'postgres',
'-c',
'shared_preload_libraries=vectors.so',
'-c',
'search_path="$$user", public, vectors',
'-c',
'logging_collector=on',
'-c',
'max_wal_size=2GB',
'-c',
'shared_buffers=512MB',
'-c',
'wal_compression=on',
]
restart: always
volumes:
model-cache:
immich_data:
external: true
immich_db:
external: true

View file

@ -0,0 +1,52 @@
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
ports:
- "8096:8096"
- "8920:8920"
volumes:
- jellyfin_config:/config
- jellyfin_cache:/cache
- jellyfin_media:/media
restart: unless-stopped
sonarr:
image: linuxserver/sonarr
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
ports:
- "8989:8989"
volumes:
- sonarr_config:/config
- jellyfin_download:/downloads
- jellyfin_media:/media
restart: unless-stopped
radarr:
image: linuxserver/radarr
container_name: radarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
ports:
- "7878:7878"
volumes:
- radarr_config:/config
- jellyfin_download:/downloads
- jellyfin_media:/media
restart: unless-stopped
volumes:
jellyfin_config:
jellyfin_cache:
sonarr_config:
radarr_config:
jellyfin_media:
external: true
jellyfin_download:
external: true

20
mealie/docker-compose.yml Normal file
View file

@ -0,0 +1,20 @@
services:
mealie:
image: hkotel/mealie:latest
ports:
- "9925:9000"
volumes:
- mealie_data:/app/data
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- BASE_URL=http://mealie.theocloud.dev
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
mealie_data:

View file

@ -0,0 +1,27 @@
services:
open-webui:
volumes:
- open-webui:/app/backend/data
environment:
- OLLAMA_BASE_URL=http://192.168.12.151:11434
container_name: open-webui
restart: always
image: ghcr.io/open-webui/open-webui:main
ollama:
restart: always
devices:
- /dev/kfd
- /dev/dri
volumes:
- ollama:/root/.ollama
ports:
- 11434:11434
container_name: ollama
environment:
- HSA_OVERRIDE_GFX_VERSION=10.3.0
- HCC_AMDGPU_TARGET=gfx1030
image: ollama/ollama:rocm
volumes:
ollama:
open-webui:

View file

@ -0,0 +1,55 @@
version: '2.2'
services:
sharelatex:
restart: always
image: sharelatex/sharelatex
container_name: sharelatex
depends_on:
mongo:
condition: service_healthy
redis:
condition: service_started
ports:
- "3001:80"
stop_grace_period: 60s
volumes:
- overleaf_sharelatex_data:/var/lib/overleaf
environment:
OVERLEAF_APP_NAME: Overleaf by TheoCloud
OVERLEAF_MONGO_URL: mongodb://mongo/sharelatex
OVERLEAF_REDIS_HOST: redis
ENABLED_LINKED_FILE_TYPES: 'project_file,project_output_file'
ENABLE_CONVERSIONS: 'true'
EMAIL_CONFIRMATION_DISABLED: 'true'
TEXMFVAR: /var/lib/overleaf/tmp/texmf-var
OVERLEAF_SITE_URL: http://overleaf.theocloud.dev
mongo:
restart: always
image: mongo:5.0
container_name: mongo
command: '--replSet overleaf'
volumes:
- overleaf_mongo_data:/data/db
- ./mongodb-init-replica-set.js:/docker-entrypoint-initdb.d/mongodb-init-replica-set.js
environment:
MONGO_INITDB_DATABASE: sharelatex
healthcheck:
test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet
interval: 10s
timeout: 10s
retries: 5
redis:
restart: always
image: redis:6.2
container_name: redis
volumes:
- redis_data:/data
volumes:
overleaf_sharelatex_data:
external: true
overleaf_mongo_data:
external: true
redis_data:

View file

@ -0,0 +1,14 @@
services:
portainer:
image: portainer/portainer-ce:latest
restart: always
ports:
- "8000:8000" # Optional für Edge-Agent
- "9443:9443" # HTTPS-Zugriff auf Portainer (Web-UI)
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
external: true

View file

@ -0,0 +1,26 @@
services:
satisfactory-server:
container_name: 'satisfactory-server'
hostname: 'drachenschanze-reloaded'
image: 'wolveix/satisfactory-server:latest'
ports:
- '7777:7777/udp'
- '7777:7777/tcp'
volumes:
- satisfactory_config:/config
environment:
- MAXPLAYERS=4
- PGID=1000
- PUID=1000
- STEAMBETA=false
restart: unless-stopped
deploy:
resources:
limits:
memory: 16G
reservations:
memory: 8G
volumes:
satisfactory_config:
external: true

View file

@ -0,0 +1,17 @@
services:
tailscale:
image: tailscale/tailscale:stable
container_name: tailscaled
volumes:
- tailscale_tailscale_data:/var/lib
- /dev/net/tun:/dev/net/tun
network_mode: host
cap_add:
- NET_ADMIN
- NET_RAW
environment:
- TS_AUTHKEY=tskey-auth-kzcw7n21Rm11CNTRL-xscFvvmtfzFyzLi3QnQF1GJcKDhknoMP
volumes:
tailscale_tailscale_data:
external: True

View file

@ -0,0 +1,21 @@
name: time-machine
services:
timemachine:
restart: always
container_name: timemachine
network_mode: host
environment:
- TM_USERNAME=timemachine
- TM_GROUPNAME=timemachine
- PASSWORD=timemachine
- TM_UID=1000
- TM_GID=1000
- SET_PERMISSIONS=false
- VOLUME_SIZE_LIMIT=0
volumes:
- time_machine_data:/opt/timemachine
tmpfs: /run/samba
image: mbentley/timemachine:smb
volumes:
time_machine_data:
external: true

View file

@ -0,0 +1,28 @@
services:
frontend:
image: theoretisch030/werkzeugkiste-frontend:latest
container_name: werkzeugkiste-frontend
env_file: .env
environment:
- NODE_ENV=${NODE_ENV}
- HOSTNAME=${HOSTNAME}
- PORT=${FRONTEND_PORT}
ports:
- "3002:3000"
restart: unless-stopped
backend:
image: theoretisch030/werkzeugkiste-backend:latest
container_name: werkzeugkiste-backend
env_file: .env
environment:
- NODE_ENV=${NODE_ENV}
- HOSTNAME=${HOSTNAME}
- PORT=${BACKEND_PORT}
ports:
- "4000:4000"
restart: unless-stopped
networks:
default:
driver: bridge