73cd71b1f645f8a11f5a52dc017631fae92e75f5
Co-Authored-By: Paperclip <noreply@paperclip.ing>
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)
# 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
npm install
npm run dev
Database Migrations
Migrations are in the drizzle/ directory, managed by Drizzle Kit.
# 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:
# 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
Description
Languages
TypeScript
98.6%
JavaScript
0.6%
Shell
0.4%
CSS
0.2%
Dockerfile
0.2%