2026-04-15 08:49:19 +00:00
2026-04-15 08:49:19 +00:00

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
LegalAI / StageAI - WebApp für Bühnenrecht-Anwälte
Readme 408 KiB
Languages
TypeScript 98.6%
JavaScript 0.6%
Shell 0.4%
CSS 0.2%
Dockerfile 0.2%