# Host port plan (this Ubuntu server already uses 8000 for current SourceHub). # SourceHub 3.8 web → 127.0.0.1:18000 (container 8000) # Postgres / ClamAV → Docker network only (no host ports) services: postgres: image: postgres:17-alpine env_file: .env.production volumes: - sourcehub_pg:/var/lib/postgresql/data restart: unless-stopped clamav: image: clamav/clamav:stable restart: unless-stopped sourcehub: build: . env_file: .env.production ports: - "127.0.0.1:18000:8000" volumes: - ./storage:/app/storage depends_on: - postgres - clamav restart: unless-stopped volumes: sourcehub_pg: