# Explicit project name — without this, Compose derives it from the # directory basename, which can collide with an unrelated sibling repo # checked out under the same name on another host/path. Never omit this. name: top-tickets services: app: build: . ports: - "8081:8081" env_file: - .env environment: - PORT=8081 - DATA_DIR=/data volumes: - data:/data restart: unless-stopped networks: top_tickets_net: ipv4_address: 10.201.0.10 volumes: data: # Explicit subnet — Docker's auto-assigned default bridge range (often # 172.17-172.31.0.0/16) can land on the same block as a real LAN/VLAN, # breaking routing to it from this host. Picking a private range nothing # else here uses avoids that; see zportal (10.199.0.0/24) and kkpab # (10.200.0.0/24) for the same pattern. networks: top_tickets_net: driver: bridge ipam: config: - subnet: 10.201.0.0/24