-->
This checklist gets a fresh machine ready to run the stack (dev or staging) from scratch after cache/data cleanup.
docker compose CLI).make, jq, curl, openssl for local ops.TIB_NETWORK must exist before docker compose up:docker network create TIB_NETWORK (one‑time).env/ (templates may be in env/examples/ if provided):env/.env.django → set DJANGO_SECRET_KEY, ENCRYPTION_KEY, DANGER_ZONE_PASSWORD, DEFAULT_ADMIN_PASSWORD, DB creds.env/.env.postgresenv/.env.pgadmin (optional)TIB-SSL-Lib and TIB-SSL-Logs intact; they store the Let’s Encrypt live chain and private key./certs and copies them into PGDATA/ssl.DB_SSLMODE=verify-full and DB_SSLROOTCERT=/etc/ssl/certs/ca-certificates.crt.tib-trader.com (network alias) to satisfy hostname checks.bash
./scripts/shell/21_enable_postgres_ssl.shD:\PythonProject\TIB-Trader\.venv\Scripts\python.exe (or ./.venv/bin/python on Linux/WSL).docker compose up -d.docker/postgres/init/ before first start, or docker compose exec postgres psql < dump.sql.1) docker network create TIB_NETWORK (if not already).
2) mkdir -p certs/letsencrypt (git-ignored).
3) Fill env files (see above).
4) docker compose up -d --build fluent-bit postgres pgadmin django wiki nginx
5) Migrations: docker compose exec django python manage.py migrate
6) (Optional) UI index: docker compose exec django python manage.py sync_ui_elements
7) Access app at http://app.tib-trader.com (or your host/port); pgAdmin at /pgadmin/.
python on PATH.python -m console.menu → option 7 (runs migrate + UI sync + seeds Admin/Andrew/Tib).python scripts/python/10_bootstrap_dev.py (same actions; set SEED_USERS=0 to skip user seeding).TIB-REDIS) is part of compose; default cache URL redis://redis:6379/1.rediss://:strongpass@redis.example.com:6380/1. Set via REDIS_URL in env/.env.django.app.tib-trader.com and wiki.tib-trader.com to the target host.cp env/examples/.env.tib.example env/.env.tib && edit env/.env.tib (set LETSENCRYPT_EMAIL).source env/.env.tibdocker compose run --rm --service-ports certbot-init -d ${APP_DOMAIN} -d ${WIKI_DOMAIN} --email ${LETSENCRYPT_EMAIL} --agree-tos --no-eff-emailTIB-SSL-*). Nginx default cert paths: /etc/letsencrypt/live/<primary-domain>/fullchain.pem and privkey.pem. If switching primary domain, adjust docker/nginx/conf.d/app.https.conf server_name/cert paths accordingly.env/examples/.env.tib.example (email + hostnames).