initial COM2 system snapshot
This commit is contained in:
132
COM2_CANONICAL_WRITE_AND_UP.sh
Executable file
132
COM2_CANONICAL_WRITE_AND_UP.sh
Executable file
@@ -0,0 +1,132 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
DIR="/opt/hx-ki/com2-stack"
|
||||
F="$DIR/docker-compose.yml"
|
||||
ENVF="$DIR/.env"
|
||||
NET="hxki-internal"
|
||||
|
||||
mkdir -p "$DIR"
|
||||
|
||||
echo "=== COM2 · CANONICAL WRITE + UP ==="
|
||||
|
||||
# Netzwerk muss existieren (external)
|
||||
docker network inspect "$NET" >/dev/null 2>&1 || docker network create "$NET" >/dev/null
|
||||
|
||||
# .env (Passwörter hier)
|
||||
cat > "$ENVF" <<'ENV'
|
||||
PG_USER=hxki
|
||||
PG_PASSWORD=CHANGE_ME_STRONG
|
||||
PG_DB=n8n
|
||||
|
||||
MAUTIC_DB_ROOT_PASSWORD=CHANGE_ME_STRONG
|
||||
MAUTIC_DB_NAME=mautic
|
||||
MAUTIC_DB_USER=mautic
|
||||
MAUTIC_DB_PASSWORD=CHANGE_ME_STRONG
|
||||
|
||||
N8N_HOST=n8n.hx-ki.com
|
||||
N8N_PROTOCOL=https
|
||||
ENV
|
||||
|
||||
# Compose: autark, ohne Grafana
|
||||
cat > "$F" <<'YML'
|
||||
services:
|
||||
hxki-postgres:
|
||||
image: postgres:16
|
||||
container_name: hxki-postgres
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_USER: ${PG_USER}
|
||||
POSTGRES_PASSWORD: ${PG_PASSWORD}
|
||||
POSTGRES_DB: ${PG_DB}
|
||||
volumes:
|
||||
- /opt/hx-ki/postgres:/var/lib/postgresql/data
|
||||
networks: [hxki-internal]
|
||||
ports: ["5432:5432"]
|
||||
|
||||
hxki-mariadb:
|
||||
image: mariadb:10.11
|
||||
container_name: hxki-mariadb
|
||||
restart: unless-stopped
|
||||
command: ["--character-set-server=utf8mb4","--collation-server=utf8mb4_unicode_ci"]
|
||||
environment:
|
||||
MARIADB_ROOT_PASSWORD: ${MAUTIC_DB_ROOT_PASSWORD}
|
||||
MARIADB_DATABASE: ${MAUTIC_DB_NAME}
|
||||
MARIADB_USER: ${MAUTIC_DB_USER}
|
||||
MARIADB_PASSWORD: ${MAUTIC_DB_PASSWORD}
|
||||
volumes:
|
||||
- /opt/hx-ki/mautic/db:/var/lib/mysql
|
||||
networks: [hxki-internal]
|
||||
ports: ["3306:3306"]
|
||||
|
||||
hxki-mautic:
|
||||
image: mautic/mautic:5-apache
|
||||
container_name: hxki-mautic
|
||||
restart: unless-stopped
|
||||
depends_on: [hxki-mariadb]
|
||||
environment:
|
||||
MAUTIC_DB_HOST: hxki-mariadb
|
||||
MAUTIC_DB_USER: ${MAUTIC_DB_USER}
|
||||
MAUTIC_DB_PASSWORD: ${MAUTIC_DB_PASSWORD}
|
||||
MAUTIC_DB_NAME: ${MAUTIC_DB_NAME}
|
||||
volumes:
|
||||
- /opt/hx-ki/mautic/app:/var/www/html
|
||||
networks: [hxki-internal]
|
||||
ports: ["8080:80"]
|
||||
|
||||
hxki-n8n:
|
||||
image: docker.n8n.io/n8nio/n8n:latest
|
||||
container_name: hxki-n8n
|
||||
restart: unless-stopped
|
||||
depends_on: [hxki-postgres]
|
||||
environment:
|
||||
DB_TYPE: postgresdb
|
||||
DB_POSTGRESDB_HOST: hxki-postgres
|
||||
DB_POSTGRESDB_PORT: 5432
|
||||
DB_POSTGRESDB_DATABASE: ${PG_DB}
|
||||
DB_POSTGRESDB_USER: ${PG_USER}
|
||||
DB_POSTGRESDB_PASSWORD: ${PG_PASSWORD}
|
||||
N8N_HOST: ${N8N_HOST}
|
||||
N8N_PROTOCOL: ${N8N_PROTOCOL}
|
||||
N8N_PORT: 5678
|
||||
N8N_EDITOR_BASE_URL: ${N8N_PROTOCOL}://${N8N_HOST}
|
||||
WEBHOOK_URL: ${N8N_PROTOCOL}://${N8N_HOST}
|
||||
volumes:
|
||||
- /data/HXKI_WORKSPACE/router:/home/node/.n8n
|
||||
- /data/HXKI_WORKSPACE:/data/HXKI_WORKSPACE
|
||||
networks: [hxki-internal]
|
||||
ports: ["5678:5678"]
|
||||
|
||||
# Caddy auf COM2 – Cluster-Client: Container bleibt drin.
|
||||
# Cluster-spezifische Settings kommen über DEIN Caddy-Cluster-Mechanismus (Volumes/Env/Config),
|
||||
# den wir nicht raten, sondern aus deinem vorhandenen COM2-Caddy Setup übernehmen.
|
||||
hx-caddy:
|
||||
image: caddy:2
|
||||
container_name: hx-caddy
|
||||
restart: unless-stopped
|
||||
networks: [hxki-internal]
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "443:443/udp"
|
||||
- "2019:2019"
|
||||
volumes:
|
||||
- /opt/hx-ki/caddy/Caddyfile:/etc/caddy/Caddyfile:ro
|
||||
- /opt/hx-ki/caddy/data:/data
|
||||
- /opt/hx-ki/caddy/config:/config
|
||||
|
||||
networks:
|
||||
hxki-internal:
|
||||
external: true
|
||||
YML
|
||||
|
||||
echo "[1] Validate"
|
||||
( cd "$DIR" && docker compose --env-file .env config >/dev/null )
|
||||
echo "OK: compose valide."
|
||||
|
||||
echo "[2] Up"
|
||||
( cd "$DIR" && docker compose --env-file .env up -d )
|
||||
|
||||
echo "[3] Status"
|
||||
docker ps --format 'NAME={{.Names}} STATUS={{.Status}} PORTS={{.Ports}}' | egrep 'hxki-|hx-caddy' || true
|
||||
echo "=== ENDE ==="
|
||||
Reference in New Issue
Block a user