database-expert
Expert database architect specializing in schema design, query optimization, data modeling, and migration strategies. Japanese: データベースエキスパート
Generates comprehensive Docker Compose configurations for development, staging, and production environments with proper networking, volumes, and service orchestration.
> /plugin marketplace add Fujigo-Software/f5-framework-claudeHow it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Generates comprehensive Docker Compose configurations for development, staging, and production environments with proper networking, volumes, and service orchestration.
Generates comprehensive Docker Compose configurations for development, staging, and production environments with proper networking, volumes, and service orchestration.
required:
- project_name: "my-app"
- services:
- type: "frontend|backend|database|cache|queue"
name: "service-name"
optional:
- environment: "development|staging|production"
- include_monitoring: false
- include_proxy: false
- network_mode: "bridge|host"# docker-compose.yml
name: {{project_name}}
services:
{{#each services}}
{{name}}:
build:
context: ./{{name}}
dockerfile: Dockerfile
# ... service configuration
{{/each}}
networks:
{{project_name}}-network:
driver: bridge
volumes:
# Named volumes for persistencefrontend:
build:
context: ./frontend
dockerfile: Dockerfile
target: ${DOCKER_TARGET:-production}
ports:
- "${FRONTEND_PORT:-3000}:3000"
environment:
- NODE_ENV=${NODE_ENV:-production}
- NEXT_PUBLIC_API_URL=${API_URL:-http://localhost:4000}
depends_on:
api:
condition: service_healthy
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://localhost:3000"]
interval: 30s
timeout: 10s
retries: 3
networks:
- frontend-network
restart: unless-stoppedapi:
build:
context: ./api
dockerfile: Dockerfile
target: ${DOCKER_TARGET:-production}
ports:
- "${API_PORT:-4000}:4000"
environment:
NODE_ENV: ${NODE_ENV:-production}
PORT: 4000
DATABASE_URL: postgres://${DB_USER}:${DB_PASSWORD}@db:5432/${DB_NAME}
REDIS_URL: redis://redis:6379
JWT_SECRET: ${JWT_SECRET}
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:4000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
networks:
- frontend-network
- backend-network
restart: unless-stopped
deploy:
resources:
limits:
cpus: '1'
memory: 1Gdb:
image: postgres:16-alpine
ports:
- "${DB_PORT:-5432}:5432"
environment:
POSTGRES_USER: ${DB_USER:-postgres}
POSTGRES_PASSWORD: ${DB_PASSWORD:-postgres}
POSTGRES_DB: ${DB_NAME:-app}
volumes:
- postgres_data:/var/lib/postgresql/data
- ./db/init:/docker-entrypoint-initdb.d:ro
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-postgres}"]
interval: 10s
timeout: 5s
retries: 5
networks:
- backend-network
restart: unless-stoppedredis:
image: redis:7-alpine
ports:
- "${REDIS_PORT:-6379}:6379"
command: >
redis-server
--appendonly yes
--maxmemory 256mb
--maxmemory-policy allkeys-lru
volumes:
- redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
networks:
- backend-network
restart: unless-stoppedrabbitmq:
image: rabbitmq:3-management-alpine
ports:
- "${RABBITMQ_PORT:-5672}:5672"
- "${RABBITMQ_MGMT_PORT:-15672}:15672"
environment:
RABBITMQ_DEFAULT_USER: ${RABBITMQ_USER:-rabbit}
RABBITMQ_DEFAULT_PASS: ${RABBITMQ_PASS:-rabbit}
volumes:
- rabbitmq_data:/var/lib/rabbitmq
healthcheck:
test: ["CMD", "rabbitmq-diagnostics", "check_running"]
interval: 30s
timeout: 10s
retries: 5
networks:
- backend-network
restart: unless-stoppednginx:
image: nginx:alpine
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/ssl:/etc/nginx/ssl:ro
depends_on:
- frontend
- api
networks:
- frontend-network
restart: unless-stopped# docker-compose.override.yml
services:
frontend:
build:
target: development
volumes:
- ./frontend:/app
- /app/node_modules
environment:
- NODE_ENV=development
command: npm run dev
api:
build:
target: development
volumes:
- ./api:/app
- /app/node_modules
environment:
- NODE_ENV=development
- DEBUG=app:*
command: npm run dev
db:
ports:
- "5432:5432"
redis:
ports:
- "6379:6379"# docker-compose.prod.yml
services:
frontend:
deploy:
replicas: 2
resources:
limits:
cpus: '0.5'
memory: 512M
api:
deploy:
replicas: 3
resources:
limits:
cpus: '1'
memory: 1G
update_config:
parallelism: 1
delay: 10s
failure_action: rollbackRepo: Fujigo-Software/f5-framework-claude
Expert database architect specializing in schema design, query optimization, data modeling, and migration strategies. Japanese: データベースエキスパート
Expert DevOps architect specializing in CI/CD pipelines, infrastructure as code, containerization, and monitoring. Japanese: DevOpsアーキテクト
Mobile app architecture specialist. iOS, Android, React Native, Flutter.
Backend architecture specialist. Microservices, APIs, databases.
Frontend architecture specialist. React, Vue, Angular, Next.js.