mirror of
https://github.com/theoleuthardt/homelab-docker-compose.git
synced 2026-06-05 15:41:07 +00:00
init all current docker compose files
This commit is contained in:
parent
3694b45ece
commit
adc70638d1
12 changed files with 432 additions and 0 deletions
53
awx-ansible/docker-compose.yml
Normal file
53
awx-ansible/docker-compose.yml
Normal 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:
|
||||||
40
grafana-influxdb/docker-compose.yml
Normal file
40
grafana-influxdb/docker-compose.yml
Normal 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
79
immich/docker-compose.yml
Normal 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
|
||||||
52
jellyfin/docker-compose.yaml
Normal file
52
jellyfin/docker-compose.yaml
Normal 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
20
mealie/docker-compose.yml
Normal 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:
|
||||||
27
ollama/docker-compose.yaml
Normal file
27
ollama/docker-compose.yaml
Normal 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:
|
||||||
55
overleaf/docker-compose.yaml
Normal file
55
overleaf/docker-compose.yaml
Normal 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:
|
||||||
14
portainer/docker-compose.yml
Normal file
14
portainer/docker-compose.yml
Normal 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
|
||||||
26
satisfactory/docker-compose.yaml
Normal file
26
satisfactory/docker-compose.yaml
Normal 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
|
||||||
17
tailscale/docker-compose.yaml
Normal file
17
tailscale/docker-compose.yaml
Normal 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
|
||||||
21
time-machine-config/docker-compose.yaml
Normal file
21
time-machine-config/docker-compose.yaml
Normal 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
|
||||||
28
werkzeugkiste/docker-compose.yml
Normal file
28
werkzeugkiste/docker-compose.yml
Normal 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
|
||||||
Loading…
Add table
Add a link
Reference in a new issue