2a7db07d4633f15e7c23f57ff63457bdf27ed21c
When selecting Anthropic or OpenAI as provider, the form now shows an inline API key input field that creates or replaces the key via the existing CRUD API. Includes key hint display and status indicator. Resolves AIIA-49 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%