diff --git a/public/assets/guides/report-a-bug/full-example.png b/public/assets/guides/report-a-bug/full-example.png
new file mode 100644
index 0000000000000000000000000000000000000000..f6aae39bf310da694a31870d014f29246d19d686
--- /dev/null
+++ b/public/assets/guides/report-a-bug/full-example.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:72d22281b193180c121bd26e9096cf32750fdb8885aa13b63688dac211177fbd
+size 56952
diff --git a/public/assets/guides/report-a-bug/log.png b/public/assets/guides/report-a-bug/log.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb4f307308525c621a3f4f48611effa390b676f7
--- /dev/null
+++ b/public/assets/guides/report-a-bug/log.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:485b5001f6d51fe2d2104c6a8d1e0ea7087a98ab5ed4a0d1cf9cb2f36be1730b
+size 11972
diff --git a/public/assets/guides/report-a-bug/template.png b/public/assets/guides/report-a-bug/template.png
new file mode 100644
index 0000000000000000000000000000000000000000..20438ff1e22600e230e868032148fe0afd8e8d5f
--- /dev/null
+++ b/public/assets/guides/report-a-bug/template.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1dba61a1ac85eb3d104ec9e622e429c3ca7d6f79af636f659cdfaf0107b02ef2
+size 16141
diff --git a/src/data.js b/src/data.js
index fe83b264a8fed6cc2e8e0b1a46a95dc79498f129..053ab2ec73b00b3113db3fec618e0cc22b28d016 100644
--- a/src/data.js
+++ b/src/data.js
@@ -353,8 +353,96 @@ export function getTasks (v) {
     {
       name: v.$pgettext('Task name', "Report a bug"),
       icon: "bug",
+      slug: 'report-a-bug',
       duration: 15,
       summary: v.$pgettext("Task summary", "Report typos, display issues, or other unexpected bebaviour, or fix it yourself."),
+      steps: [
+        {
+          title: v.$pgettext("Guide step title", 'Search for similar bugs'),
+          content: [
+            v.$pgettext("Guide step content", 'A quick search can yield similar bug and avoid opening duplicate. Take a minute or two to search our issue tracker for recent bug reports that could match yours.'),
+            v.$pgettext("Guide step content", "If you find a similar bug report, you can comment on this one instead of creating a new one."),
+            v.$pgettext("Guide step content", "If you are unsure about submitting a bug report or have other general tech questions, you can also start a thread in our Loomio support group, or ask us on our Fediverse account."),
+          ],
+          links: [
+            {
+              icon: 'gitlab',
+              text: v.$pgettext("Text for link in guide step", 'Browse existing bugs'),
+              url: 'https://dev.funkwhale.audio/funkwhale/funkwhale/issues?label_name%5B%5D=Type%3A+Bug',
+            },
+            {
+              icon: 'comment',
+              text: v.$pgettext("Text for link in guide step", 'Start a thread on our support forum'),
+              url: 'https://governance.funkwhale.audio/g/246YOJ1m/funkwhale-support',
+            },
+            {
+              icon: 'mastodon',
+              text: v.$pgettext("Text for link in guide step", 'Get in touch on the Fediverse'),
+              url: 'https://mastodon.eliotberriot.com/@funkwhale',
+            }
+          ]
+        },
+        {
+          title: v.$pgettext("Guide step title", 'Create your Contributor Account'),
+          content: [v.$pgettext("Guide step content", 'This account is needed to submit your bug report or comments.'),],
+          links: [
+            {
+              icon: 'gitlab',
+              text: v.$pgettext("Text for link in guide step", 'Create your GitLab account'),
+              to: {name: 'guide', params: {slug: 'gitlab-account', locale: v.$language.current}},
+            }
+          ]
+        },
+        {
+          title: v.$pgettext("Guide step title", 'Write your bug report'),
+          content: [
+            v.$pgettext("Guide step content", 'Select "Bug" in the issue template dropdown, then fill the title and content for your bug report.'),
+            v.$pgettext("Guide step content", 'Try to be as precise and specific as possible: the other contributors that will read your report may not know things that are obvious to you.'),
+            v.$pgettext("Guide step content", "We know writing an actionable bug report is hard. Do your best and give as much context as possible, but don't worry: other contributors will reach out to you if they need more details."),
+          ],
+          recommendations: [
+            v.$pgettext("Advice content / recommendations", "Explain what you were trying to do"),
+            v.$pgettext("Advice content / recommendations", "Explain what you expected to happen"),
+            v.$pgettext("Advice content / recommendations", "Explain what actually happened"),
+            v.$pgettext("Advice content / recommendations", "Include logs, error messages, screenshots and information about your system (web browser, operating system…), if applicable"),
+            v.$pgettext("Advice content / recommendations", "Include the version number of the Funkwhale server on which the issue happens"),
+          ],
+          avoid: [
+            v.$pgettext("Advice content / avoid", 'Use vague language such as "this is not working"'),
+          ],
+          links: [
+            {
+              icon: 'pencil',
+              text: v.$pgettext("Text for link in guide step", 'Write your bug report'),
+              url: "https://dev.funkwhale.audio/funkwhale/funkwhale/issues/new?issue%5Bassignee_id%5D=&issue%5Bmilestone_id%5D=",
+            }
+          ],
+          media: [
+            {
+              type: 'image',
+              url: '/assets/guides/report-a-bug/template.png',
+              caption: v.$pgettext("Task image caption", 'Choose "bug" in the issue template drowdown')
+            },
+            {
+              type: 'image',
+              url: '/assets/guides/report-a-bug/log.png',
+              caption: v.$pgettext("Task image caption", 'Put logs between three ` (backticks)')
+            },
+            {
+              type: 'image',
+              url: '/assets/guides/report-a-bug/full-example.png',
+              caption: v.$pgettext("Task image caption", "A complete exemple of a bug report")
+            },
+          ]
+        },
+        {
+          title: v.$pgettext("Guide step title", 'Review and submit your report'),
+          content: [
+            v.$pgettext("Guide step content", 'Read your report one last time, then click on the "Submit" button.'),
+            v.$pgettext("Guide step content", 'A contributor will have a look at it within the next days!'),
+          ],
+        }
+      ]
     },
     {
       name: v.$pgettext('Task name', "Review the documentation"),
diff --git a/vue.config.js b/vue.config.js
index c60071d3c6a155d17cceaf11a492501b7ce4942f..9de7d19ea177ea2bb90aaef3fd8e211c779209d4 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -17,6 +17,7 @@ module.exports = {
       '/guides/loomio-account',
       '/guides/translate',
       '/guides/gitlab-account',
+      '/guides/report-a-bug',
     ];
     let finalRoutes = [];
     baseRoutes.forEach(p => {