Files
hammer-queue/docker-compose.dokploy.yml
Hammer ddaeb0c282 feat: chat interface with gateway WebSocket integration (HQ-21)
- GatewayClient class: WS connection, auto-reconnect, request/response, events
- ChatPage with thread list sidebar + message area
- Real-time streaming responses via chat events
- Thread management with localStorage persistence
- Message bubbles with user/assistant/system styles
- Build args for VITE_WS_URL and VITE_WS_TOKEN
- SPA routing already supported by nginx config
2026-01-29 02:19:55 +00:00

48 lines
1.2 KiB
YAML

version: "3.8"
services:
db:
image: postgres:16-alpine
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
volumes:
- pgdata:/var/lib/postgresql/data
restart: unless-stopped
backend:
build:
context: ./backend
dockerfile: Dockerfile
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
DATABASE_URL: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}
API_BEARER_TOKEN: ${API_BEARER_TOKEN}
BETTER_AUTH_SECRET: ${BETTER_AUTH_SECRET}
BETTER_AUTH_URL: https://dash.donovankelly.xyz
COOKIE_DOMAIN: .donovankelly.xyz
CLAWDBOT_HOOK_URL: ${CLAWDBOT_HOOK_URL:-https://hooks.hammer.donovankelly.xyz/hooks/agent}
CLAWDBOT_HOOK_TOKEN: ${CLAWDBOT_HOOK_TOKEN}
PORT: "3100"
depends_on:
- db
restart: unless-stopped
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
args:
VITE_WS_URL: ${VITE_WS_URL:-wss://ws.hammer.donovankelly.xyz}
VITE_WS_TOKEN: ${VITE_WS_TOKEN}
ports:
- "80"
depends_on:
- backend
restart: unless-stopped
volumes:
pgdata: