Commit Graph

19 Commits

Author SHA1 Message Date
Matt 8cabe7d362 Remove Traefik from deploy package (use existing nginx)
Build and Push Docker Image / build (push) Successful in 1m52s Details
- Remove Traefik service and related labels
- Expose ports to localhost only (3000, 8000, 3001)
- Update README with nginx proxy configuration examples
- Remove ACME_EMAIL and Traefik auth from .env.example

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 11:18:55 +01:00
Matt 3187f5babb Add standalone production deployment package
Build and Push Docker Image / build (push) Successful in 1m46s Details
- docker-compose.yml: Standalone compose with Traefik, Supabase, portal
- init.sql: Combined database schema + all 16 migrations
- kong.yml.template: Kong config with API key placeholders
- setup.sh: Auto-generates secrets (JWT, passwords, API keys)
- .env.example: Comprehensive environment template
- README.md: Complete deployment guide

No source code cloning required - just copy files and run setup.sh

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 11:15:56 +01:00
Matt bcd5b955a3 Add script to update kong.yml with production API keys
Build and Push Docker Image / build (push) Successful in 1m38s Details
- Creates scripts/update-kong-keys.sh
- Reads ANON_KEY and SERVICE_ROLE_KEY from .env
- Generates kong.yml with correct API keys
- Run after setting up .env to configure Kong authentication

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 10:03:40 +01:00
Matt e4a40e1e40 Fix setup check to redirect when members table doesn't exist
Build and Push Docker Image / build (push) Successful in 1m49s Details
- Treat "table does not exist" errors as needing setup
- Redirect to /setup on unexpected errors (safer default)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 09:55:37 +01:00
Matt cd60c8ba32 Add database init script for Supabase schemas and roles
Build and Push Docker Image / build (push) Successful in 1m43s Details
- Create 00-init-schemas.sql that runs before Supabase init scripts
- Creates required roles: anon, authenticated, service_role, supabase_admin, etc.
- Creates required schemas: auth, storage, extensions, _realtime, graphql
- Sets up proper grants and permissions for Supabase services
- Mount init script to /docker-entrypoint-initdb.d/ in db container

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 09:51:21 +01:00
Matt 5bbf26e7a1 Add initial admin setup page and favicon support
Build and Push Docker Image / build (push) Successful in 2m2s Details
- Add /setup route for first-run admin user creation
- Add setup check hook to redirect to /setup when no users exist
- Fix storage container dependency (service_started vs service_healthy)
- Fix migrations mount path (don't overwrite Supabase init scripts)
- Add favicon and apple touch icon links to app.html
- Show success message on login after setup completion

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 09:36:25 +01:00
Matt a450e1afd9 Fix: Don't overwrite Supabase postgres init scripts
Build and Push Docker Image / build (push) Successful in 1m40s Details
Mounting to /docker-entrypoint-initdb.d was replacing the Supabase
postgres image's built-in initialization scripts that create the
auth schema, roles, etc. Now mounting to /migrations instead.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 03:25:50 +01:00
Matt 4836804dcb Remove conflicting schema migration
Build and Push Docker Image / build (push) Successful in 1m38s Details
The supabase/postgres image already has all required schemas and roles
pre-configured. The custom migration was conflicting with the image's
built-in initialization.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 03:22:30 +01:00
Matt 4f78be3943 Add Kong config generator for production API keys
Build and Push Docker Image / build (push) Successful in 1m36s Details
Kong's declarative config doesn't support env vars, so API keys must be
embedded in kong.yml. Added generate-kong-config.sh script and integrated
it into deploy.sh to automatically generate kong.yml from .env values.

Run ./scripts/generate-kong-config.sh once after setting up .env, then
docker compose up -d will work correctly.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 03:16:00 +01:00
Matt d0545e8aa7 Add Supabase schema initialization migration
Build and Push Docker Image / build (push) Successful in 1m46s Details
Creates required auth, storage, extensions, _realtime, and graphql_public
schemas that must exist before GoTrue can run its migrations. Also creates
necessary roles (anon, authenticated, service_role, supabase_admin) and
the base auth.users table structure.

Fixes: "no schema has been selected to create in (SQLSTATE 3F000)"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 03:14:00 +01:00
Matt 31d5942065 Use pre-built image from registry instead of local build
Build and Push Docker Image / build (push) Failing after 4m23s Details
2026-01-25 03:02:02 +01:00
Matt 4e1d31f3a4 Add production env template
Build and Push Docker Image / build (push) Successful in 1m40s Details
2026-01-25 02:42:45 +01:00
Matt 7fee4af60a Use placeholder JWT tokens for build (real keys injected at runtime)
Build and Push Docker Image / build (push) Successful in 1m37s Details
2026-01-25 02:38:39 +01:00
Matt bfc024a61f Update env template for portal.monacousa.org and use secrets in workflow
Build and Push Docker Image / build (push) Failing after 50s Details
2026-01-25 02:36:45 +01:00
Matt cb3703ec3a Use working Gitea workflow format with ubuntu-latest
Build and Push Docker Image / build (push) Successful in 1m45s Details
2026-01-25 02:28:16 +01:00
Matt c426d576fc Fix workflow: runs-on ubuntu
Build and Deploy / build (push) Waiting to run Details
2026-01-25 02:26:22 +01:00
Matt 886a1bca90 Fix workflow: use linux runner label for Gitea
Build and Deploy / build (push) Waiting to run Details
2026-01-25 02:24:11 +01:00
Matt c1871481d5 Add workflow to .github path for compatibility 2026-01-25 02:21:08 +01:00
Matt e7338d1a70 Initial production deployment setup
- Production docker-compose with nginx support
- Nginx configuration for portal.monacousa.org
- Deployment script with backup/restore
- Gitea CI/CD workflow
- Fix CountryFlag reactivity for dropdown flags

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 02:19:49 +01:00