Docs-as-code: full deploy configs, compose stacks, and DR guide

- Add root README and docs/ (architecture, hosts, disaster-recovery, operations)
- Add compose/ for superset, forgejo, lam, cadvisor; unified deploy compose
- Add scripts/deploy (deploy-atc-docker01.sh, container inventory export)
- Add inventory/containers-atc-docker01.json snapshot
- Add config READMEs for kafka and airflow; .env.example; expand .gitignore
- Sync atclab helper scripts; update homepage/superset compose with env support
This commit is contained in:
Lakehouse Admin
2026-05-19 22:28:01 +02:00
parent c63181abac
commit f5d30824fc
30 changed files with 890 additions and 3 deletions
+14
View File
@@ -0,0 +1,14 @@
# cAdvisor — container metrics (optioneel; poort 8080 botst met icons-server indien beide op 8080)
services:
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
restart: unless-stopped
privileged: true
ports:
- "8081:8080"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
+19
View File
@@ -0,0 +1,19 @@
# Forgejo (lokaal op atc-docker01) — primaire Git staat op atc-mgt01:3001
services:
forgejo:
image: codeberg.org/forgejo/forgejo:14
container_name: forgejo
restart: always
environment:
USER_UID: "1000"
USER_GID: "1000"
ports:
- "4002:3000"
- "222:22"
volumes:
- forgejo_data:/data
- /etc/localtime:/etc/localtime:ro
volumes:
forgejo_data:
name: forgejo_forgejo
+17
View File
@@ -0,0 +1,17 @@
# LDAP Account Manager (lokaal op atc-docker01)
# Productie LDAP/LAM: http://atc-mgt01.dell-atc.lan/lam/
services:
lam:
image: ghcr.io/ldapaccountmanager/lam:stable
container_name: lam-app-1
restart: unless-stopped
ports:
- "4001:80"
environment:
DEBIAN_FRONTEND: noninteractive
volumes:
- lam_data:/var/lib/ldap-account-manager
volumes:
lam_data:
name: lam_lam
+3
View File
@@ -0,0 +1,3 @@
FROM apache/superset:latest
RUN pip install psycopg2-binary
+27
View File
@@ -0,0 +1,27 @@
services:
superset:
build: .
container_name: superset
restart: unless-stopped
ports:
- "8088:8088"
env_file:
- ../../.env
environment:
- SUPERSET_SECRET_KEY=${SUPERSET_SECRET_KEY:-change-me}
- SUPERSET_LOAD_EXAMPLES=no
volumes:
- ./superset_config.py:/app/pythonpath/superset_config.py
- superset_home:/app/superset_home
depends_on:
- redis
redis:
image: redis:7
container_name: superset_redis
restart: unless-stopped
ports:
- "6379:6379"
volumes:
superset_home:
+39
View File
@@ -0,0 +1,39 @@
import os
# Secret key for session signing
SECRET_KEY = os.environ.get('SUPERSET_SECRET_KEY', 'your-secret-key-here')
# Database configuration - use SQLite to avoid psycopg2 issues
SQLALCHEMY_DATABASE_URI = 'sqlite:////app/superset_home/superset.db'
# Redis cache configuration
CACHE_CONFIG = {
'CACHE_TYPE': 'redis',
'CACHE_REDIS_URL': 'redis://redis:6379/0',
'CACHE_DEFAULT_TIMEOUT': 300
}
# Enable CSRF protection
ENABLE_PROXY_FIX = True
# Feature flags
FEATURE_FLAGS = {
'ENABLE_TEMPLATE_PROCESSING': True,
'ALERT_REPORTS': True,
}
# Row limit
ROW_LIMIT = 50000
# Viz types
VIZ_TYPE_DICT = {
'table': {},
'dist_bar': {},
'line': {},
'area': {},
'pie': {},
'number': {},
}
# Timezone
TIMEZONE = 'Europe/Amsterdam'