Files
AIHostingTycoon/docker-compose.yml
T
josh 4881907c28 Add auth system with invite-only registration and admin roles
JWT-based auth (hono/jwt + bcrypt), anonymous-first flow preserved.
Registration requires invite code when REQUIRE_INVITE=true. Admin
user seeded on startup (admin/admin, forced password reset). Login
accepts email or username. Admin invitations management page in
sidebar. Regular users get invite-a-friend button when USER_INVITATIONS > 0.
Frontend gate screen blocks game access for unregistered users with
invite code entry, registration, login, and password reset flows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-27 19:25:16 -04:00

43 lines
977 B
YAML

services:
web:
image: gitea.thewrightserver.net/josh/aihostingtycoon/web:latest
ports:
- "80:80"
depends_on:
- server
restart: unless-stopped
server:
image: gitea.thewrightserver.net/josh/aihostingtycoon/server:latest
ports:
- "3001:3001"
environment:
- DATABASE_URL=postgresql://aitycoon:aitycoon@db:5432/aitycoon
- PORT=3001
- CORS_ORIGIN=*
- JWT_SECRET=change-me-to-a-random-secret
- REQUIRE_INVITE=true
- USER_INVITATIONS=0
depends_on:
db:
condition: service_healthy
restart: unless-stopped
db:
image: postgres:17-alpine
environment:
- POSTGRES_USER=aitycoon
- POSTGRES_PASSWORD=aitycoon
- POSTGRES_DB=aitycoon
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U aitycoon"]
interval: 5s
timeout: 5s
retries: 5
restart: unless-stopped
volumes:
pgdata: