version: '3'

# To make this example setup work with the proxy container,
# it is expected to use a reverse proxy like nginx, traefik, caddy, etc.
# instead of accessing the containers using their ports directly.

services:
  keyoxide:
    image: keyoxide/keyoxide:latest
    restart: unless-stopped
    ports:
      - 3000:3000
    environment:
      - DOMAIN=
      ## The hostname to reach the doip_proxy container below
      # - PROXY_HOSTNAME=
      ## The onion URL to advertise in the HTTP response headers
      # - ONION_URL=
      ## The key to sign ActivityPub requests
      # - ACTIVITYPUB_PUBLIC_KEY=

  doip_proxy:
    image: keyoxide/doip-proxy:latest
    restart: unless-stopped
    ports:
      - 3001:3000
    # environment:
      ## For ActivityPub verification
      # - ACTIVITYPUB_URL=
      # - ACTIVITYPUB_PRIVATE_KEY=
      ## For IRC verification
      # - IRC_NICK=
      ## For Telegram verification
      # - TELEGRAM_TOKEN=
      ## For Twitter verification
      # - TWITTER_BEARER_TOKEN=
      ## For Matrix verification
      # - MATRIX_ROOM_ID=
      # - MATRIX_INSTANCE=
      # - MATRIX_ACCESS_TOKEN=
      ## For XMPP verification
      # - XMPP_SERVICE=
      # - XMPP_USERNAME=
      # - XMPP_PASSWORD=