# koopa-tops — host ports 9090–9092
# Live: /home/hernani/koopa-tops/
# Usage: cd ~/koopa-tops && podman compose -f deploy/compose.yml up -d

# nginxinc/nginx-unprivileged: process is non-root; listens on 8080 (not 80).
services:
  tops-ng1:
    image: docker.io/nginxinc/nginx-unprivileged:1.27-alpine
    container_name: koopa-tops-ng1
    restart: unless-stopped
    ports:
      - "9090:8080"
    volumes:
      - ../ng1:/usr/share/nginx/html:ro
    labels:
      org.hacktivism.service: tops-ng1
      org.hacktivism.host_port: "9090"
      org.hacktivism.site: tops.ng1.hacktivism.ch
      org.hacktivism.managed_by: koopa-admin
    healthcheck:
      test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1:8080/"]
      interval: 30s
      timeout: 5s
      retries: 3

  tops-ng2:
    image: docker.io/nginxinc/nginx-unprivileged:1.27-alpine
    container_name: koopa-tops-ng2
    restart: unless-stopped
    ports:
      - "9091:8080"
    volumes:
      - ../ng2:/usr/share/nginx/html:ro
    labels:
      org.hacktivism.service: tops-ng2
      org.hacktivism.host_port: "9091"
      org.hacktivism.site: tops.ng2.hacktivism.ch
      org.hacktivism.managed_by: koopa-admin
    healthcheck:
      test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1:8080/"]
      interval: 30s
      timeout: 5s
      retries: 3

  tops-ng3:
    image: docker.io/nginxinc/nginx-unprivileged:1.27-alpine
    container_name: koopa-tops-ng3
    restart: unless-stopped
    ports:
      - "9092:8080"
    volumes:
      - ../ng3:/usr/share/nginx/html:ro
    labels:
      org.hacktivism.service: tops-ng3
      org.hacktivism.host_port: "9092"
      org.hacktivism.site: tops.ng3.hacktivism.ch
      org.hacktivism.managed_by: koopa-admin
    healthcheck:
      test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1:8080/"]
      interval: 30s
      timeout: 5s
      retries: 3
