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:
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1,3 @@
|
||||
FROM apache/superset:latest
|
||||
|
||||
RUN pip install psycopg2-binary
|
||||
@@ -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:
|
||||
@@ -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'
|
||||
Reference in New Issue
Block a user