name: 🐞 Bug Report
description: Report a reproducible bug for mailcow. (NOT to be used for support questions.)
labels: ["bug"]
body:
  - type: checkboxes
    attributes:
      label: Contribution guidelines
      description: Please read the contribution guidelines before proceeding.
      options:
      - label: I've read the [contribution guidelines](https://github.com/mailcow/mailcow-dockerized/blob/master/CONTRIBUTING.md) and wholeheartedly agree
        required: true
  - type: checkboxes
    attributes:
      label: Checklist prior issue creation
      description: Prior to creating the issue...
      options:
      - label: I understand that failure to follow below instructions may cause this issue to be closed.
        required: true
      - label: I understand that vague, incomplete or inaccurate information may cause this issue to be closed.
        required: true
      - label: I understand that this form is intended solely for reporting software bugs and not for support-related inquiries.
        required: true
      - label: I understand that all responses are voluntary and community-driven, and do not constitute commercial support.
        required: true
      - label: I confirm that I have reviewed previous [issues](https://github.com/mailcow/mailcow-dockerized/issues) to ensure this matter has not already been addressed.
        required: true
      - label: I confirm that my environment meets all [prerequisite requirements](https://docs.mailcow.email/getstarted/prerequisite-system/) as specified in the official documentation.
        required: true
  - type: textarea
    attributes:
      label: Description
      description: Please provide a brief description of the bug. If applicable, add screenshots to help explain your problem. (Very useful for bugs in mailcow UI.)
    validations:
      required: true
  - type: textarea
    attributes:
      label: "Steps to reproduce:"
      description: "Please describe the steps to reproduce the bug. Screenshots can be added, if helpful."
      placeholder: |-
        1. ...
        2. ...
        3. ...
    validations:
      required: true
  - type: textarea
    attributes:
      label: "Logs:"
      description: "Please take a look at the [official documentation](https://docs.mailcow.email/troubleshooting/debug-logs/) and post the last few lines of logs, when the error occurs. For example, docker container logs of affected containers. This will be automatically formatted into code, so no need for backticks."
      render: plain text
    validations:
      required: true
  - type: markdown
    attributes:
      value: |
        ## System information
        In this stage we would kindly ask you to attach general system information about your setup.
  - type: dropdown
    attributes:
      label: "Which branch are you using?"
      description: "#### Run: `git rev-parse --abbrev-ref HEAD`"
      multiple: false
      options:
        - master (stable)
        - staging
        - nightly
    validations:
      required: true
  - type: dropdown
    attributes:
      label: "Which architecture are you using?"
      description: "#### Run: `uname -m`"
      multiple: false
      options:
        - x86_64
        - ARM64 (aarch64)
    validations:
      required: true
  - type: input
    attributes:
      label: "Operating System:"
      description: "#### Run: `lsb_release -ds`"
      placeholder: "e.g. Ubuntu 22.04 LTS"
    validations:
      required: true
  - type: input
    attributes:
      label: "Server/VM specifications:"
      placeholder: "Memory, CPU Cores"
    validations:
      required: true
  - type: input
    attributes:
      label: "Is Apparmor, SELinux or similar active?"
      placeholder: "yes/no"
    validations:
      required: true
  - type: input
    attributes:
      label: "Virtualization technology:"
      description: "LXC and OpenVZ are not supported!"
      placeholder: "KVM, VMware ESXi, Xen, etc"
    validations:
      required: true
  - type: input
    attributes:
      label: "Docker version:"
      description: "#### Run: `docker version`"
      placeholder: "20.10.21"
    validations:
      required: true
  - type: input
    attributes:
      label: "docker-compose version or docker compose version:"
      description: "#### Run: `docker-compose version` or `docker compose version`"
      placeholder: "v2.12.2"
    validations:
      required: true
  - type: input
    attributes:
      label: "mailcow version:"
      description: "#### Run: ```git describe --tags `git rev-list --tags --max-count=1` ```"
      placeholder: "2022-08x"
    validations:
      required: true
  - type: input
    attributes:
      label: "Reverse proxy:"
      placeholder: "e.g. nginx/Traefik, or none"
    validations:
      required: true
  - type: textarea
    attributes:
      label: "Logs of git diff:"
      description: "#### Output of `git diff origin/master`, any other changes to the code? Sanitize if needed. If so, **please post them**:"
      render: plain text
    validations:
      required: false
  - type: textarea
    attributes:
      label: "Logs of iptables -L -vn:"
      description: "#### Output of `iptables -L -vn`"
      render: plain text
    validations:
      required: true
  - type: textarea
    attributes:
      label: "Logs of ip6tables -L -vn:"
      description: "#### Output of `ip6tables -L -vn`"
      render: plain text
    validations:
      required: true
  - type: textarea
    attributes:
      label: "Logs of iptables -L -vn -t nat:"
      description: "#### Output of `iptables -L -vn -t nat`"
      render: plain text
    validations:
      required: true
  - type: textarea
    attributes:
      label: "Logs of ip6tables -L -vn -t nat:"
      description: "#### Output of `ip6tables -L -vn -t nat`"
      render: plain text
    validations:
      required: true
  - type: textarea
    attributes:
      label: "DNS check:"
      description: "#### Output of `docker exec -it $(docker ps -qf name=acme-mailcow) dig +short stackoverflow.com @172.22.1.254` (set the IP accordingly, if you changed the internal mailcow network)"
      render: plain text
    validations:
      required: true
