initial folder structure with README's for placeholders
This commit is contained in:
commit
f236f79794
1
ansible/README.md
Normal file
1
ansible/README.md
Normal file
@ -0,0 +1 @@
|
||||
# ansible folder
|
||||
1
documentation/README.md
Normal file
1
documentation/README.md
Normal file
@ -0,0 +1 @@
|
||||
# documenation folder
|
||||
1
nodes/heimdall/README.md
Normal file
1
nodes/heimdall/README.md
Normal file
@ -0,0 +1 @@
|
||||
# heimdall info
|
||||
166
nodes/heimdall/compose.core.yaml
Normal file
166
nodes/heimdall/compose.core.yaml
Normal file
@ -0,0 +1,166 @@
|
||||
name: core
|
||||
services:
|
||||
# --- SECURITY LAYER ---
|
||||
docker-socket-proxy:
|
||||
image: tecnativa/docker-socket-proxy:v0.4.2
|
||||
container_name: docker-socket-proxy
|
||||
restart: unless-stopped
|
||||
userns_mode: "host"
|
||||
user: "0:0"
|
||||
security_opt:
|
||||
- apparmor=unconfined
|
||||
privileged: true
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
networks:
|
||||
- proxy-net
|
||||
group_add:
|
||||
- "988" # Ensure this matches 'stat -c %g /var/run/docker.sock' on heimdall
|
||||
environment:
|
||||
# Read Access (for Traefik)
|
||||
- CONTAINERS=1
|
||||
- SERVICES=1
|
||||
- NETWORKS=1
|
||||
- VOLUMES=1
|
||||
- IMAGES=1
|
||||
- INFO=1
|
||||
- VERSION=1
|
||||
- EVENTS=1
|
||||
- PING=1
|
||||
# Write Access (Required for Komodo/Portainer to deploy)
|
||||
- POST=1
|
||||
- ALLOW_START=1
|
||||
- ALLOW_STOP=1
|
||||
- ALLOW_RESTARTS=1
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: redis
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "6379:6379"
|
||||
networks:
|
||||
- proxy-net
|
||||
volumes:
|
||||
- redis-data:/data
|
||||
command: redis-server --appendonly yes
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
# --- NETWORKING ---
|
||||
traefik:
|
||||
image: traefik:v3.6.5
|
||||
container_name: traefik
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
docker-socket-proxy:
|
||||
condition: service_started
|
||||
networks:
|
||||
- proxy-net
|
||||
environment:
|
||||
- DOCKER_HOST=tcp://docker-socket-proxy:2375
|
||||
- CLOUDFLARE_DNS_API_TOKEN=${CF_API_TOKEN}
|
||||
- CLOUDFLARE_ZONE_API_TOKEN=${CF_ZONE_TOKEN}
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- /mnt/appdata/traefik/traefik.yml:/traefik.yml:ro
|
||||
- /mnt/appdata/traefik/dynamic:/dynamic:ro
|
||||
- /mnt/appdata/traefik/certs:/certs
|
||||
- /mnt/appdata/traefik/access-logs:/var/log/traefik
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# Router for the Dashboard
|
||||
- "traefik.http.routers.traefik-secure.rule=Host(`proxy.castaldifamily.com`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))"
|
||||
- "traefik.http.routers.traefik-secure.entrypoints=websecure"
|
||||
- "traefik.http.routers.traefik-secure.tls=true"
|
||||
- "traefik.http.routers.traefik-secure.tls.certresolver=cloudflare"
|
||||
- "traefik.http.routers.traefik-secure.service=api@internal"
|
||||
# Root Redirect (Optional but nice)
|
||||
- "traefik.http.routers.traefik-root.rule=Host(`proxy.castaldifamily.com`) && Path(`/`)"
|
||||
- "traefik.http.routers.traefik-root.entrypoints=websecure"
|
||||
- "traefik.http.routers.traefik-root.tls=true"
|
||||
- "traefik.http.routers.traefik-root.service=api@internal"
|
||||
- "traefik.http.routers.traefik-root.middlewares=traefik-redir"
|
||||
- "traefik.http.middlewares.traefik-redir.redirectregex.regex=^https?://proxy.castaldifamily.com/$$"
|
||||
- "traefik.http.middlewares.traefik-redir.redirectregex.replacement=https://proxy.castaldifamily.com/dashboard/"
|
||||
|
||||
# --- MANAGEMENT ---
|
||||
komodo-db:
|
||||
image: mongo:8.2.6
|
||||
container_name: komodo-db
|
||||
labels:
|
||||
komodo.skip: # Prevent Komodo from stopping with StopAllContainers
|
||||
command: --quiet --wiredTigerCacheSizeGB 0.25
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- proxy-net
|
||||
# ports:
|
||||
# - 27017:27017
|
||||
volumes:
|
||||
- /mnt/appdata/komodo/mongo/db:/data/db
|
||||
- /mnt/appdata/komodo/mongo/config:/data/configdb
|
||||
environment:
|
||||
MONGO_INITDB_ROOT_USERNAME: ${KOMODO_DATABASE_USERNAME}
|
||||
MONGO_INITDB_ROOT_PASSWORD: ${KOMODO_DATABASE_PASSWORD}
|
||||
|
||||
komodo-core:
|
||||
image: ghcr.io/moghtech/komodo-core:2
|
||||
init: true
|
||||
container_name: komodo-core
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- komodo-db
|
||||
networks:
|
||||
- proxy-net
|
||||
ports:
|
||||
- 9120:9120
|
||||
env_file: .env
|
||||
environment:
|
||||
KOMODO_DATABASE_ADDRESS: komodo-db:27017
|
||||
volumes:
|
||||
- /mnt/appdata/komodo/keys:/config/keys
|
||||
- /mnt/appdata/komodo/backups:/backups
|
||||
labels:
|
||||
- komodo.skip
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.komodo.entrypoints=websecure"
|
||||
- "traefik.http.routers.komodo.rule=Host(`komodo.castaldifamily.com`)"
|
||||
- "traefik.http.routers.komodo.tls=true"
|
||||
- "traefik.http.routers.komodo.tls.certresolver=cloudflare"
|
||||
- "traefik.http.services.komodo.loadbalancer.server.port=9120"
|
||||
|
||||
periphery:
|
||||
image: ghcr.io/moghtech/komodo-periphery:2
|
||||
init: true
|
||||
container_name: komodo-periphery-heimdall
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- komodo-core
|
||||
- docker-socket-proxy
|
||||
networks:
|
||||
- proxy-net
|
||||
environment:
|
||||
- DOCKER_HOST=tcp://docker-socket-proxy:2375
|
||||
- PERIPHERY_CORE_ADDRESS=ws://komodo-core:9120
|
||||
- PERIPHERY_CONNECT_AS=Heimdall
|
||||
- PERIPHERY_ONBOARDING_KEY=${KOMODO_ONBOARDING_KEY_HEIMDALL}
|
||||
volumes:
|
||||
- /proc:/proc # Still needed for accurate system stats
|
||||
# Map the internal /config/keys to a unique folder for this node
|
||||
- /mnt/appdata/komodo/heimdall/keys:/config/keys
|
||||
# Map the internal /etc/komodo to a unique work folder for this node
|
||||
- /mnt/appdata/komodo/heimdall/work:/etc/komodo
|
||||
|
||||
networks:
|
||||
proxy-net:
|
||||
name: proxy-net
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
redis-data:
|
||||
1
nodes/waldorf/README.md
Normal file
1
nodes/waldorf/README.md
Normal file
@ -0,0 +1 @@
|
||||
# waldorf info
|
||||
1
nodes/watchtower/README.md
Normal file
1
nodes/watchtower/README.md
Normal file
@ -0,0 +1 @@
|
||||
# watchtower info
|
||||
1
scripts/README.md
Normal file
1
scripts/README.md
Normal file
@ -0,0 +1 @@
|
||||
# scripts
|
||||
Loading…
x
Reference in New Issue
Block a user