# StageAI WebApp for stage law attorneys (Bühnenrecht). Built with Next.js, PostgreSQL, Meilisearch, and AI-powered contract analysis. ## Prerequisites - Docker & Docker Compose - Node.js 20+ (for local development) - Git ## Quick Start (Docker) ```bash # Clone the repo git clone https://mgit.msbls.de/Remmer/StageAI.git cd StageAI # Set up environment cp .env.example .env # Edit .env with your API keys and secrets # Start all services docker compose up -d # Run database migrations docker compose exec app npx drizzle-kit push ``` The app will be available at http://localhost:3000. ## Environment Variables | Variable | Description | Required | |---|---|---| | `DATABASE_URL` | PostgreSQL connection string | Yes | | `NEXTAUTH_URL` | App URL for authentication | Yes | | `NEXTAUTH_SECRET` | Random secret for session encryption | Yes | | `AI_PROVIDER` | `anthropic` or `openai` | Yes | | `ANTHROPIC_API_KEY` | Anthropic API key | If using Anthropic | | `OPENAI_API_KEY` | OpenAI API key | If using OpenAI | | `MEILISEARCH_URL` | Meilisearch URL | Yes | | `MEILISEARCH_API_KEY` | Meilisearch master key | Yes | ## Local Development ```bash npm install npm run dev ``` ## Database Migrations Migrations are in the `drizzle/` directory, managed by Drizzle Kit. ```bash # Generate a new migration after schema changes npx drizzle-kit generate # Apply migrations npx drizzle-kit push ``` ## Deployment (VPS) A deployment script is included for the production VPS: ```bash # On the VPS (remmer@100.81.230.53): cd /home/remmer/StageAI ./deploy.sh ``` This pulls the latest code from Gitea and rebuilds the app container. PostgreSQL and Meilisearch containers are kept running. ## Services | Service | Port | Description | |---|---|---| | App (Next.js) | 3000 | Main application | | PostgreSQL | 5432 | Database | | Meilisearch | 7700 | Full-text search engine | ## Repository Source code: https://mgit.msbls.de/Remmer/StageAI