Files
periscope/docker-compose.yml
T
michele c362ef8a56 Split native Periscope (periscope/src) from inherited PinScope (periscope/dependency).
Keep validate.py and the finding engine as-is. AGPL LICENSE stays at the repo root.
Docker overlays dependency then src. Do not delete the inherited tree.
2026-09-20 14:31:42 +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/dependency/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