## HEADS UP!
# You should read this compose file IN FULL before deploying!
# Not setting environment variables properly could cause performance/stability issues or severe security vulnerabilities!
# Read https://discordtickets.app/self-hosting/configuration so that you know what everything means! It's worth it!

version: "3.9"

services:
  mysql:
    image: mysql:8
    restart: unless-stopped
    hostname: mysql
    networks:
      - discord-tickets
    volumes:
      - tickets-mysql:/var/lib/mysql
    environment:
      MYSQL_DATABASE: tickets
      MYSQL_PASSWORD: insecure # change this to a secure password
      MYSQL_ROOT_PASSWORD: insecure # change this to a (different) secure password
      MYSQL_USER: tickets

  bot:
    image: eartharoid/discord-tickets:4.0
    depends_on:
      - mysql
    restart: unless-stopped
    hostname: bot
    networks:
      - discord-tickets
    ports:
      - 8169:8169
    volumes:
      - tickets-bot:/home/container/user
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    tty: true
    stdin_open: true
    # Please refer to the documentation:
    # https://discordtickets.app/self-hosting/configuration/#environment-variables
    environment:
      DB_CONNECTION_URL: mysql://tickets:insecure@mysql/tickets # change `insecure` to the MYSQL_PASSWORD you set above
      DISABLE_ENCRYPTION: "false"
      DISCORD_SECRET: # required
      DISCORD_TOKEN: # required
      ENCRYPTION_KEY: # required
      DB_PROVIDER: mysql
      HTTP_EXTERNAL: http://127.0.0.1:8169 # change this to your server's external IP (or domain)
      HTTP_HOST: 0.0.0.0
      HTTP_INTERNAL:
      HTTP_PORT: 8169
      HTTP_TRUST_PROXY: "false" # set to true if you're using a reverse proxy
      INVALIDATE_TOKENS:
      OVERRIDE_ARCHIVE: null
      PUBLIC_BOT: "false"
      PUBLISH_COMMANDS: "false"
      SUPER: 319467558166069248 # comma-separated list of discord user IDs with superuser access to change bot settings for all guilds the bot is in, regardless of the users permissions
      # IMPORTANT: You should read https://discordtickets.app/self-hosting/configuration/#super before continuing!
      
networks:
  discord-tickets:

volumes:
  tickets-mysql:
  tickets-bot:
