2026-03-29 16:23:55 +02:00
2026-03-29 15:06:25 +02:00
2026-03-29 16:23:55 +02:00
2026-03-29 14:59:03 +02:00
2026-03-29 14:59:03 +02:00
2026-03-29 14:59:03 +02:00
2026-03-29 15:06:34 +02:00
2026-03-29 14:59:03 +02:00

Lunchtime

Lunchtime is a self-hosted lunch order app with a React frontend, a Python backend, and nginx for reverse proxying.

Getting Started

  1. Copy and adjust config.yaml for your environment.
  2. Create a writable data folder (for SQLite and uploads), for example .data.
  3. Start the stack with Docker Compose.

Example compose.yml (inspired by src/compose.yml) using images from the Gitea registry:

services:
  nginx:
    image: nginx:alpine
    ports:
      - "8080:8080"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
    depends_on:
      - backend
      - frontend
    restart: unless-stopped

  backend:
    image: git.sgruber.at/lunchtime/lunchtime-web:backend-latest
    volumes:
      - ./.data:/app/data
      - ./config.yaml:/app/config.yaml:ro
    environment:
      - APP_ENV=production
      - LOG_LEVEL=info
      - DB_PATH=/app/data
    restart: unless-stopped

  frontend:
    image: git.sgruber.at/lunchtime/lunchtime-web:frontend-latest
    restart: unless-stopped

Then run:

docker compose up -d

Open http://localhost:8080.

S
Description
Simple and lightweight group ordering system
https://lunchtime.sgruber.at
Readme 1,000 KiB
Languages
TypeScript 69.1%
Python 29.7%
Dockerfile 0.5%
CSS 0.4%
HTML 0.3%