Initial commit: all siklos docker-compose files

This commit is contained in:
2026-04-29 10:42:41 -05:00
commit c07e58865d
18 changed files with 488 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
services:
actual-budget:
image: actualbudget/actual-server:latest
container_name: actual-budget
restart: unless-stopped
ports:
- "5006:5006"
volumes:
- ./data:/data
networks:
- default
- pihole_default
networks:
pihole_default:
external: true
+13
View File
@@ -0,0 +1,13 @@
services:
dashboard:
build: .
container_name: dashboard
restart: unless-stopped
ports:
- "8096:8080"
environment:
- ENVIRONMENT=production
volumes:
- /srv/docker/dashboard/app:/app
labels:
com.centurylinklabs.watchtower: "false"
+14
View File
@@ -0,0 +1,14 @@
services:
glances:
image: nicolargo/glances:latest
container_name: glances
restart: unless-stopped
pid: host
privileged: true
ports:
- "61208:61208"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /etc/os-release:/etc/os-release:ro
environment:
- GLANCES_OPT=-w
+17
View File
@@ -0,0 +1,17 @@
services:
goldengames:
build: .
container_name: goldengames
restart: unless-stopped
ports:
- "3030:3000"
volumes:
- ./data:/app/data
environment:
- NODE_ENV=production
- DATA_DIR=/app/data
- SMTP_HOST=smtp.fastmail.com
- SMTP_USER=jgitta@jgitta.com
- SMTP_PASS=5a2p6f46238v332z
labels:
com.centurylinklabs.watchtower: "false"
+13
View File
@@ -0,0 +1,13 @@
services:
grav:
image: lscr.io/linuxserver/grav:latest
container_name: grav
environment:
- PUID=1000 # Use 'id $USER' to check your ID
- PGID=1000
- TZ=America/Chicago # Change to your timezone
volumes:
- ./config:/config # All your site data stays here
ports:
- 8585:80
restart: unless-stopped
+24
View File
@@ -0,0 +1,24 @@
#---------------------------------------------------------------------#
# Homarr - A simple, yet powerful dashboard for your server. #
#---------------------------------------------------------------------#
services:
homarr:
container_name: homarr
image: ghcr.io/homarr-labs/homarr:latest
restart: unless-stopped
volumes:
# Optional: Allows Homarr to show container status/controls
- /var/run/docker.sock:/var/run/docker.sock
# Use relative paths (./) so the folder moves with the YAML file
- .homarr/appdata:/appdata
# - .homarr/icons:/app/apps/nextjs/public/images/apps
environment:
- SECRET_ENCRYPTION_KEY=d1478a30f89d49cfe0599c38dcf061672b3e24e519957a83a1122768002d0357
- BASE_URL=http://192.168.88.111:7575
- TZ=America/Chicago
- FORCE_HTTPS=false
- APP_URL=https://homarr.jgitta.com
ports:
- '7575:7575'
+44
View File
@@ -0,0 +1,44 @@
services:
web:
image: ghcr.io/karakeep-app/karakeep:${KARAKEEP_VERSION:-release}
restart: unless-stopped
volumes:
# By default, the data is stored in a docker volume called "data".
# If you want to mount a custom directory, change the volume mapping to:
# - /path/to/your/directory:/data
- data:/data
ports:
- 3010:3000
env_file:
- .env
environment:
MEILI_ADDR: http://meilisearch:7700
BROWSER_WEB_URL: http://chrome:9222
# OPENAI_API_KEY: ...
# You almost never want to change the value of the DATA_DIR variable.
# If you want to mount a custom directory, change the volume mapping above instead.
DATA_DIR: /data # DON'T CHANGE THIS
chrome:
image: gcr.io/zenika-hub/alpine-chrome:124
restart: unless-stopped
command:
- --no-sandbox
- --disable-gpu
- --disable-dev-shm-usage
- --remote-debugging-address=0.0.0.0
- --remote-debugging-port=9222
- --hide-scrollbars
meilisearch:
image: getmeili/meilisearch:v1.13.3
restart: unless-stopped
env_file:
- .env
environment:
MEILI_NO_ANALYTICS: "true"
volumes:
- meilisearch:/meili_data
volumes:
meilisearch:
data:
+22
View File
@@ -0,0 +1,22 @@
version: "3.7"
services:
kopia:
image: kopia/kopia:latest
container_name: kopia
restart: unless-stopped
ports:
- "51515:51515"
volumes:
- ./config:/app/config
- ./cache:/app/cache
- /mnt/nextcloud:/data:ro
environment:
- KOPIA_PASSWORD=kopia123
command:
- server
- start
- --address=0.0.0.0:51515
- --insecure
- --ui
- --server-username=admin
- --server-password=Jogiocsi1211+
+28
View File
@@ -0,0 +1,28 @@
services:
postgres:
image: postgres:16-alpine
ports:
- "5432:5432"
restart: always
environment:
POSTGRES_PASSWORD: mysecretpassword
volumes:
- ./pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 10
linkwarden:
image: ghcr.io/linkwarden/linkwarden:latest
restart: always
ports:
- "3015:3000"
environment:
- DATABASE_URL=postgresql://postgres:mysecretpassword@postgres:5432/postgres
- NEXTAUTH_URL=http://localhost:3000
- NEXTAUTH_SECRET=super-secret-random-string-12345
depends_on:
postgres:
condition: service_healthy
+55
View File
@@ -0,0 +1,55 @@
version: "3"
services:
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
restart: always
ports:
- "8989:8989"
volumes:
- /srv/docker/sonarr/config:/config
- /mnt/media/tv:/tv
- /mnt/media/torrents:/downloads
environment:
- TZ=America/Chicago
- PUID=1000
- PGID=1000
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
restart: always
ports:
- "7878:7878"
volumes:
- /srv/docker/radarr/config:/config
- /mnt/media/movies:/movies
- /mnt/media/torrents:/downloads
environment:
- TZ=America/Chicago
- PUID=1000
- PGID=1000
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
restart: always
ports:
- "9696:9696"
volumes:
- /srv/docker/prowlarr/config:/config
environment:
- TZ=America/Chicago
- PUID=1000
- PGID=1000
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
restart: always
ports:
- "8191:8191"
environment:
- TZ=America/Chicago
- LOG_LEVEL=info
+65
View File
@@ -0,0 +1,65 @@
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
restart: unless-stopped
ports:
- "9090:9090"
volumes:
- /srv/docker/monitoring/prometheus.yml:/etc/prometheus/prometheus.yml:ro
- prometheus_data:/prometheus
command:
- "--config.file=/etc/prometheus/prometheus.yml"
- "--storage.tsdb.path=/prometheus"
- "--storage.tsdb.retention.time=30d"
- "--web.enable-lifecycle"
- "--web.enable-admin-api"
grafana:
image: grafana/grafana:latest
container_name: grafana
restart: unless-stopped
ports:
- "3020:3000"
volumes:
- grafana_data:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=Jogiocsi1211+
- GF_USERS_ALLOW_SIGN_UP=false
- FTLCONF_dns_maxConcurrentQueries=300
depends_on:
- prometheus
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
restart: unless-stopped
privileged: true
ports:
- "8090:8080"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker:/var/lib/docker:ro
- /dev/disk/:/dev/disk:ro
graphite-exporter:
image: prom/graphite-exporter:latest
container_name: graphite-exporter
restart: unless-stopped
ports:
- "9109:9109"
- "9109:9109/udp"
- "9108:9108"
volumes:
- /srv/docker/monitoring/graphite/graphite_mapping.conf:/tmp/graphite_mapping.conf:ro
command:
- "--graphite.mapping-config=/tmp/graphite_mapping.conf"
- "--graphite.listen-address=:9109"
- "--web.listen-address=:9108"
volumes:
prometheus_data:
grafana_data:
+17
View File
@@ -0,0 +1,17 @@
services:
onlyoffice:
image: onlyoffice/documentserver
container_name: onlyoffice
restart: unless-stopped
ports:
- "8880:80"
volumes:
- /opt/onlyoffice/data:/var/www/onlyoffice/Data
- /opt/onlyoffice/lib:/var/lib/onlyoffice
- /opt/onlyoffice/logs:/var/log/onlyoffice
environment:
- JWT_ENABLED=true
- JWT_SECRET=4f2b0c719af2de99befacfec9ca5e8373cbdeb76
extra_hosts:
# Route next.jgitta.com through Caddy (valid SSL cert) instead of direct to VM
- "next.jgitta.com:192.168.88.110"
+61
View File
@@ -0,0 +1,61 @@
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
restart: always
network_mode: host
labels:
- "com.centurylinklabs.watchtower.enable=false"
environment:
TZ: "America/Chicago"
FTLCONF_misc_dnsmasq_lines: "dns-forward-max=300"
volumes:
- ./pihole:/etc/pihole
# Wyoming Protocol for Home Assistant
faster-whisper:
image: lscr.io/linuxserver/faster-whisper:latest
container_name: faster-whisper
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
- WHISPER_MODEL=base
- WHISPER_LAN=en
volumes:
- ./faster-whisper/config:/config
ports:
- 10300:10300
restart: unless-stopped
# OpenAI-Compatible API for general use
faster-whisper-server:
image: fedirz/faster-whisper-server:latest-cpu
container_name: faster-whisper-server
ports:
- "8000:8000"
volumes:
- ./faster-whisper/models:/root/.cache/huggingface
environment:
- WHISPER_MODEL=base
restart: unless-stopped
# Open WebUI with voice-to-text integration
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
volumes:
- ./open-webui/data:/app/backend/data
environment:
- TZ=America/Chicago
- OLLAMA_BASE_URL=http://192.168.88.41:11434
# Voice-to-Text (STT) Settings
- WHISPER_API_BASE_URL=http://faster-whisper-server:8000/v1
- AUDIO_STT_ENGINE=openai
- AUDIO_STT_OPENAI_API_BASE_URL=http://faster-whisper-server:8000/v1
- AUDIO_STT_OPENAI_API_KEY=not-needed
extra_hosts:
- "host.docker.internal:host-gateway"
restart: unless-stopped
+14
View File
@@ -0,0 +1,14 @@
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: unless-stopped
ports:
- "9443:9443"
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
+9
View File
@@ -0,0 +1,9 @@
services:
uptime-kuma:
image: louislam/uptime-kuma:2
container_name: uptime-kuma
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- ./data:/app/data
+24
View File
@@ -0,0 +1,24 @@
version: "3"
services:
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=America/Chicago
- WATCHTOWER_NOTIFICATIONS=email
- WATCHTOWER_NOTIFICATION_EMAIL_FROM=jgitta@jgitta.com
- WATCHTOWER_NOTIFICATION_EMAIL_TO=jgitta@jgitta.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.fastmail.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=jgitta@jgitta.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=2l79229z6r4y8x8y
- WATCHTOWER_NOTIFICATIONS_LEVEL=info
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_SCHEDULE=0 0 3 * * *
- WATCHTOWER_ROLLING_RESTART=true
- WATCHTOWER_ROLLING_RESTART_TIMEOUT=30s
- WATCHTOWER_LABEL_ENABLE=true
+39
View File
@@ -0,0 +1,39 @@
services:
wordpress-db:
image: mariadb:10.11
container_name: wordpress-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: Jogiocsi1211+
MYSQL_DATABASE: jgitta_wordpress
MYSQL_USER: jgitta
MYSQL_PASSWORD: Jogiocsi1211+
volumes:
- wordpress_db:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 10
wordpress:
image: wordpress:php8.3-apache
container_name: wordpress
restart: unless-stopped
ports:
- "8095:80"
environment:
WORDPRESS_DB_HOST: wordpress-db
WORDPRESS_DB_NAME: jgitta_wordpress
WORDPRESS_DB_USER: jgitta
WORDPRESS_DB_PASSWORD: Jogiocsi1211+
WORDPRESS_TABLE_PREFIX: wp_
volumes:
- wordpress_files:/var/www/html
depends_on:
wordpress-db:
condition: service_healthy
volumes:
wordpress_db:
wordpress_files: