05aad75272
Multi-tenant AI help desk SaaS for the firearms industry. Full monorepo: API (Express/Prisma), Worker (BullMQ), Frontend (React/Vite/Tailwind). PostgreSQL 16 + pgvector, Redis 7, JWT auth, RLS tenant isolation. Dark Armory theme with tactical branding throughout. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
41 lines
965 B
YAML
41 lines
965 B
YAML
version: '3.8'
|
|
|
|
services:
|
|
postgres:
|
|
image: pgvector/pgvector:pg16
|
|
container_name: fa-postgres
|
|
restart: unless-stopped
|
|
ports:
|
|
- '5432:5432'
|
|
environment:
|
|
POSTGRES_USER: forward_assist
|
|
POSTGRES_PASSWORD: fa_dev_password_2024
|
|
POSTGRES_DB: forward_assist
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
- ./packages/api/prisma/rls-setup.sql:/docker-entrypoint-initdb.d/99-rls-setup.sql
|
|
healthcheck:
|
|
test: ['CMD-SHELL', 'pg_isready -U forward_assist']
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: fa-redis
|
|
restart: unless-stopped
|
|
ports:
|
|
- '6379:6379'
|
|
command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru
|
|
volumes:
|
|
- redisdata:/data
|
|
healthcheck:
|
|
test: ['CMD', 'redis-cli', 'ping']
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
volumes:
|
|
pgdata:
|
|
redisdata:
|