name: phpbb

services:
  phpbb-db:
    image: docker.io/library/postgres:17-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: phpbb
      POSTGRES_USER: phpbb
      POSTGRES_PASSWORD: ${PHPBB_DB_PASSWORD}
    volumes:
      - phpbb-db-data:/var/lib/postgresql/data
    networks:
      - phpbb
    healthcheck:
      test:
        - CMD
        - pg_isready
        - -U
        - phpbb
        - -d
        - phpbb
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 10s

  phpbb-web:
    image: docker.io/evandarwin/phpbb:latest
    restart: unless-stopped
    depends_on:
      - phpbb-db
    environment:
      PHPBB_FORUM_NAME: ${PHPBB_FORUM_NAME:-My phpBB Forum}
      PHPBB_FORUM_DESCRIPTION: ${PHPBB_FORUM_DESCRIPTION:-A phpBB Forum}
      PHPBB_USERNAME: ${PHPBB_ADMIN_USER:-admin}
      PHPBB_PASSWORD: ${PHPBB_ADMIN_PASSWORD}
      PHPBB_EMAIL: ${PHPBB_ADMIN_EMAIL}
      PHPBB_DATABASE_DRIVER: postgres
      PHPBB_DATABASE_HOST: phpbb-db
      PHPBB_DATABASE_PORT: "5432"
      PHPBB_DATABASE_NAME: phpbb
      PHPBB_DATABASE_USER: phpbb
      PHPBB_DATABASE_PASSWORD: ${PHPBB_DB_PASSWORD}
      SERVER_NAME: ${PHPBB_SERVER_NAME}
      SERVER_PROTOCOL: https://
      SERVER_PORT: "443"
      COOKIE_SECURE: "true"
    ports:
      - target: 8080
        host_ip: 127.0.0.1
        protocol: tcp
    volumes:
      - phpbb-files:/opt/phpbb
    networks:
      - phpbb

volumes:
  phpbb-db-data:
  phpbb-files:

networks:
  phpbb:
