dynamicweb/start-web.sh
Sajeyks 619a20394e Add docker compose stack for test deployments
Runs postgres, redis, the web app and a celery worker. Dev defaults live
in .env.docker with an optional .env override. The entrypoint generates
and persists the Django secret key and waits for postgres; the web
service migrates and creates a Site row for every configured domain.
SQL dumps placed in db-init/ are restored on first start and are
git-ignored.
2026-09-30 14:54:38 +03:00

21 lines
691 B
Bash

#!/bin/sh
# Container start-up for the web service: migrate, make sure every configured
# site exists in the DB, then serve.
set -ue
cd /usr/src/app
export DJANGO_SETTINGS_MODULE=dynamicweb.settings
python - <<'PYEOF'
import json, os
import django
django.setup()
from django.core.management import call_command
# system checks import urls.py, which queries the DB, so skip them here
call_command('migrate', interactive=False, skip_checks=True)
from django.contrib.sites.models import Site
for domain in json.loads(os.environ.get('UNGLEICH_SITE_CONFIGS') or '{}'):
Site.objects.get_or_create(domain=domain, defaults={'name': domain})
PYEOF
exec python manage.py runserver 0.0.0.0:8000