Oscana is a TanStack Start game application with PostgreSQL and Firebase Authentication. This branch (revival) is an unfinished rewrite of the develop version. See the rewrite notes for the main product changes and known gaps.
Use Node.js 24, pnpm 10.28.2, PostgreSQL, and Firebase credentials. Copy .env.example to .env, fill it, then run:
pnpm install --frozen-lockfile
pnpm db:migrate
pnpm devpnpm seed:fresh resets game data. Use it only for a new or disposable database. The scheduler can be run locally with CRON_INTERNAL_TOKEN set to the local cron token and APP_BASE_URL=http://localhost:3001.
The supported deployment is one Ubuntu VPS with two independent Docker Compose projects. Each has its own app, scheduler, PostgreSQL container, database volume, secrets, and Git checkout. Development is live; production is intentionally offline. Host Caddy provides HTTPS for development and an explicit production offline response. See the VPS runbook for bootstrap, updates, backups, and recovery.
The host needs Docker, Compose, Caddy, and Git. Node and PostgreSQL run only in containers. Firebase Authentication remains an external service. The initial VPS deployment shares one Firebase project by operator choice; use separate Firebase projects when identities and credentials must be isolated too.
- Revival rewrite overview
- VPS deployment
- Firebase Authentication
- Bill lifecycle
- Bot API
- API operations and release checks
GNU GPL v3.0; see LICENSE.