Titan is an automated deployment platform with GitHub integration, intelligent error analysis, and comprehensive project management. It provides automated CI/CD pipelines, build workers for Node.js and Docker projects, and AI-powered error diagnostics.
The platform follows a microservices-monorepo architecture:
- API Server: packages/api-server - Core REST API and webhook handling logic.
- Build Worker: packages/build-worker - Background service responsible for building projects types (Node.js, Docker, etc.) via a Redis queue.
- Request Handler: packages/request-handler - Dynamic proxy that serves deployed applications and handles caching.
- Dashboard: packages/dashboard - Next.js-based administration interface.
- CLI: packages/cli - Command line interface for interacting with Titan.
- AI Service: packages/ai-service - Analyzes build failures and suggests fixes.
- DB:
packages/db- Prisma database schema and migrations. - Shared:
packages/shared- Shared utilities and types across services.
Install all dependencies using Bun.
bun installCopy the example environment file and configure the necessary secrets.
cp .env.example .envGenerate secure secrets for JWT_SECRET and NEXTAUTH_SECRET:
openssl rand -base64 32Initialize the environment across all packages:
bun run setupApply database migrations:
bun run db:migrateStart all services in development mode:
bun run devThis commands launches:
- Dashboard: http://localhost:3001
- API Server: http://localhost:3000
- Request Handler: http://localhost:8000
For production deployment instructions on AWS (EC2), please refer to DEPLOYMENT.md.
bun run dev: Start all services.bun run build:all: Compile all packages.bun run db:studio: Open database GUI.bun run db:migrate: Run pending migrations.
MIT