Files
Gallus_Pub/backend
Kenzo 1120472af8 feat: Migrate old events and gallery images to persistent storage
- Add migration script to convert and copy images
- Include 7 events (Karaoke, Pub Quiz, etc.) in WebP format
- Include 9 gallery images in WebP format
- Update .gitignore to allow images in data/images/
- Add migration documentation in MIGRATION_README.md

Images are stored in backend/data/images/ which maps to
the persistent Fly.io volume at /app/data/
2025-12-09 16:41:57 +01: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