Files
periscope/docker-compose.yml
michele ee160a5df9 Overlay native taxonomy JSON and local DeepSeek skills.
repo_paths and compose mount src/taxonomy first. Docker copies dependency then src for taxonomy and skills. SKILL.md prose is rewritten; schema IDs and validate contracts stay. Manifest 1.14.0. Do not run upload_skills.py.
2026-09-20 20:30:25 +02:00

66 lines
1.5 KiB
YAML

# Canonical compose project on the VPS is "periscope" (not the GitHub
# clone folder name "pinscope"). Bind mounts stay relative to the checkout.
# Host Caddy (railway-caddy) lives on Docker network pinscope_pinscope and
# reverse_proxies periscope-frontend:3000 / periscope-backend:8080. The
# update script connects these containers to that network after up.
name: periscope
services:
backend:
build:
context: .
dockerfile: periscope/src/backend/Dockerfile
container_name: periscope-backend
restart: unless-stopped
env_file:
- .env
environment:
DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY}
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
GEMINI_API_KEY: ${GEMINI_API_KEY:-}
volumes:
- ./data:/app/data
- ./periscope/src/taxonomy:/app/taxonomy
ports:
- "8080:8080"
networks:
periscope:
aliases:
- periscope-backend
- pinscope-backend
frontend:
build:
context: .
dockerfile: periscope/src/frontend/dockerfile
args:
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL:-http://localhost:8080}
NEXT_PUBLIC_AUTH_MODE: ${NEXT_PUBLIC_AUTH_MODE:-}
container_name: periscope-frontend
restart: unless-stopped
depends_on:
- backend
ports:
- "3000:3000"
networks:
periscope:
aliases:
- periscope-frontend
- pinscope
- pinscope-frontend
networks:
periscope:
driver: bridge