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