- Backend: Elysia + Bun + Drizzle ORM + PostgreSQL - Frontend: React + Vite + TypeScript + Tailwind CSS - Task CRUD API with bearer token auth for writes - Public read-only dashboard with auto-refresh - Task states: active, queued, blocked, completed, cancelled - Reorder support for queue management - Progress notes per task - Docker Compose for local dev and Dokploy deployment
41 lines
775 B
YAML
41 lines
775 B
YAML
version: "3.8"
|
|
|
|
services:
|
|
db:
|
|
image: postgres:16-alpine
|
|
environment:
|
|
POSTGRES_USER: hammer_queue
|
|
POSTGRES_PASSWORD: hammer_queue
|
|
POSTGRES_DB: hammer_queue
|
|
ports:
|
|
- "5432:5432"
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
|
|
backend:
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "3100:3100"
|
|
environment:
|
|
DATABASE_URL: postgres://hammer_queue:hammer_queue@db:5432/hammer_queue
|
|
API_BEARER_TOKEN: ${API_BEARER_TOKEN:-hammer-dev-token}
|
|
PORT: "3100"
|
|
depends_on:
|
|
- db
|
|
|
|
frontend:
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile
|
|
args:
|
|
VITE_API_URL: ""
|
|
ports:
|
|
- "8080:80"
|
|
depends_on:
|
|
- backend
|
|
|
|
volumes:
|
|
pgdata:
|