Files
KenzoandClaude Opus 5 f46a24ee4e
ci/woodpecker/push/woodpecker Pipeline was successful
fix(upload): Groessengrenzen realistisch setzen, PDFs eigener Wert
Der Upload lief gegen einen einzigen globalen Wert von 5 MB, der fuer alle
Dateitypen galt. Eine Getraenkekarte liegt aber schnell bei 15-20 MB, das
Hochladen scheiterte deshalb zuverlaessig.

- MAX_FILE_SIZE (Bilder) von 5 auf 20 MB. Bilder werden ohnehin auf 1600px
  heruntergerechnet, die Grenze muss nur ein unbearbeitetes Handyfoto
  durchlassen - 5 MB reichten dafuer schon nicht.
- MAX_PDF_SIZE neu, 40 MB. PDFs werden unveraendert abgelegt.
- Beides ueber Umgebungsvariablen uebersteuerbar.

Die Registrierung von multipart nimmt den groesseren der beiden Werte als
Obergrenze, die Routen setzen ihn per request.file({ limits }) auf ihren
eigenen herunter. Die Fehlermeldung im PDF-Zweig nannte bisher die
Bildgrenze.

Geprueft am laufenden Container, auch mit --memory=512m wie auf Fly: 18-MB-
PDF und 18-MB-Foto gehen durch, 45 MB bzw. 25 MB werden mit 413 und
passender Meldung abgelehnt, kein OOM.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-08-11 14:42:56 +02:00
..

Gallus Pub CMS Backend

Headless CMS backend for managing Gallus Pub website content with Gitea OAuth authentication.

Setup

  1. Install dependencies:
npm install
  1. Create .env file from .env.example:
cp .env.example .env
  1. Update environment variables in .env:

    • Set Gitea OAuth credentials
    • Set Git repository URL and token
    • JWT secrets are already generated
  2. Create data directory and run migrations:

mkdir -p data
  1. Generate and run migrations:
npm run db:generate
npm run db:migrate
  1. Start development server:
npm run dev

Server will run at http://localhost:3000

Available Scripts

  • npm run dev - Start development server with watch mode
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run db:generate - Generate database migrations
  • npm run db:migrate - Run database migrations
  • npm run db:studio - Open Drizzle Studio

Documentation

See parent directory for complete documentation:

  • CMS_CONCEPT.md - System architecture
  • CMS_GITEA_AUTH.md - Authentication details
  • CMS_IMPLEMENTATION_EXAMPLE.md - Code examples
  • CMS_SETUP_GUIDE.md - Deployment guide