All new migrations are now embedded in post-deploy.sql (idempotent),
so they run automatically on `docker compose up` via the migrate container.
Both deploy/ and docker/migrate/ copies are kept in sync.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add chown to give kong user write permissions to /var/lib/kong
- Fixes 'can't create /var/lib/kong/kong.yml: Permission denied' error
- Allows entrypoint script to generate kong.yml from template
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add proper CORS configuration to all Kong routes
- Allow portal.monacousa.org and localhost origins
- Configure allowed methods, headers, and credentials
- Fixes 'Cross-site POST form submissions are forbidden' error
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Gitea Actions now builds monacousa-db, monacousa-kong, and
monacousa-migrate alongside the portal image on every push to main
- Fix Kong Dockerfile permission issue (use COPY --chmod instead of RUN chmod)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Custom Docker images embed all config so production servers no longer
need SQL files, kong.yml, or shell scripts. Kong generates config from
env vars at startup. Migrate container auto-detects fresh vs existing
DB and runs appropriate scripts.
New images: monacousa-db, monacousa-kong, monacousa-migrate
New commands: deploy.sh build-images, deploy.sh push-images
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>