vep/compose.yml
2026-08-07 19:26:49 +00:00

48 lines
1.3 KiB
YAML

# VEP P1 compose — pinned, extendable per phase. Internal network only.
# Postgres+pgvector not published to host. Caddy (host) proxies git.* and api.*.
services:
postgres:
image: pgvector/pgvector:0.7.0-pg16
environment:
POSTGRES_USER: ${PG_USER:-vep}
POSTGRES_PASSWORD: ${PG_PASS:-vep_dev_pass}
POSTGRES_DB: vep
volumes:
- pgdata:/var/lib/postgresql/data
- ./schema/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
networks: [vep_net]
# NOT published to host — internal only.
app:
build:
context: .
dockerfile: Dockerfile
environment:
DATABASE_URL: postgresql://${PG_USER:-vep}:${PG_PASS:-vep_dev_pass}@postgres:5432/vep
VEP_TENANT: t_default
depends_on:
postgres:
condition: service_healthy
networks: [vep_net]
# NOT published — Caddy proxies localhost:8000.
forgejo:
image: codeberg.org/forgejo/forgejo:10.0.3
environment:
FORGEJO__database__DB_TYPE: sqlite
FORGEJO__server__SSH_PORT: 22
FORGEJO__server__ROOT_URL: https://git.mangoopsdesign.com
FORGEJO__server__APP_DATA_PATH: /data
ports:
- "2222:22" # host :2222 -> container ssh (avoids host :22)
volumes:
- forgejo_data:/data
networks: [vep_net]
networks:
vep_net:
driver: bridge
volumes:
pgdata:
forgejo_data: