diff --git a/docker compositions/forgejo/.gitignore b/docker compositions/forgejo/.gitignore
new file mode 100644
index 0000000..60baa9c
--- /dev/null
+++ b/docker compositions/forgejo/.gitignore
@@ -0,0 +1 @@
+data/*
diff --git a/docker compositions/forgejo/docker-compose.yml b/docker compositions/forgejo/docker-compose.yml
new file mode 100644
index 0000000..7255415
--- /dev/null
+++ b/docker compositions/forgejo/docker-compose.yml
@@ -0,0 +1,22 @@
+---
+
+networks:
+ forgejo:
+ external: false
+
+services:
+ server:
+ image: codeberg.org/forgejo/forgejo:14
+ container_name: forgejo
+ environment:
+ - USER_UID=1000
+ - USER_GID=1000
+ restart: unless-stopped
+ networks:
+ - forgejo
+ volumes:
+ - ./data:/data
+ - /etc/localtime:/etc/localtime:ro
+ ports:
+ - '3000:3000'
+ - '222:22'
diff --git a/knowledge base/forgejo.md b/knowledge base/forgejo.md
new file mode 100644
index 0000000..688e40a
--- /dev/null
+++ b/knowledge base/forgejo.md
@@ -0,0 +1,109 @@
+# Forgejo
+
+Community-driven code forge platform similar to GitHub.
+Forked from [Gitea] after the for-profit company Gitea Ltd took control of it.
+
+1. [TL;DR](#tldr)
+1. [Further readings](#further-readings)
+ 1. [Sources](#sources)
+
+## TL;DR
+
+
+ Setup
+
+```sh
+docker pull 'codeberg.org/forgejo/forgejo' # or 'data.forgejo.org/forgejo/forgejo'
+```
+
+The configuration uses the INI format.
+When installing from a distribution, the configuration file will _typically_ be placed at `/etc/forgejo/app.ini`.
+When using the container image, the configuration file is automatically created if it does not already exist.
+Refer the [configuration cheat sheet] and the [configuration file defaults].
+
+Values containing `#` or `;` must be quoted using `` ` `` or `"""`.
+
+> [!important]
+> Forgejo requires a **full** restart for configuration changes to take effect.
+
+Configuration values can be _**added**_ or _**overridden**_ by setting environment variables that follow the
+`FORGEJO__[SECTION]__[KEY]` format.
+The `DEFAULT` section of the configuration should be an empty string.
+
+
+
+Setting environment variables as follows:
+
+```sh
+FORGEJO____APP_NAME=Frogejo 🐸
+FORGEJO__repository__ENABLE_PUSH_CREATE_USER=true
+```
+
+is equivalent to adding the following to the `app.ini` configuration file:
+
+```ini
+APP_NAME=Frogejo 🐸
+
+[repository]
+ENABLE_PUSH_CREATE_USER = true
+```
+
+
+
+Existing configuration values must be _**removed**_ by editing the configuration file.
+
+> [!important]
+> Using SELinux environments could trigger issues with containers.
+> Check the audit logs in this case.
+
+
+
+
+
+
+
+## Further readings
+
+- [Website]
+- [Codebase]
+- [News]
+
+### Sources
+
+- [Documentation]
+
+
+
+
+
+[Gitea]: gitea.md
+
+
+
+[Codebase]: https://codeberg.org/forgejo/forgejo
+[Configuration cheat sheet]: https://forgejo.org/docs/latest/admin/config-cheat-sheet/
+[Configuration file defaults]: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/custom/conf/app.example.ini
+[Documentation]: https://forgejo.org/docs/latest/
+[News]: https://forgejo.org/news/
+[Website]: https://forgejo.org/
+
+
diff --git a/knowledge base/self-hosting.md b/knowledge base/self-hosting.md
index 2df764e..ca2be46 100644
--- a/knowledge base/self-hosting.md
+++ b/knowledge base/self-hosting.md
@@ -14,9 +14,10 @@ The _art_ of hosting and managing applications on one's own servers instead of c
| [AWX] | Task runner | [CTFreak], [Rundeck], [Semaphore], [Zuul] |
| [Baikal] | CalDAV and CardDAV server | [Radicale] |
| [CTFreak] | Task runner | [AWX], [Rundeck], [Semaphore], [Zuul] |
-| [Gitea] | Git server | [Gitlab], [Gogs] |
-| [Gitlab] | Git server | [Gitea], [Gogs] |
-| [Gogs] | Git server | [Gitea], [Gitlab] |
+| [Forgejo] | Git server | [Gitea], [Gitlab], [Gogs] |
+| [Gitea] | Git server | [Forgejo], [Gitlab], [Gogs] |
+| [Gitlab] | Git server | [Forgejo], [Gitea], [Gogs] |
+| [Gogs] | Git server | [Forgejo], [Gitea], [Gitlab] |
| [Home Assistant] | Home automation platform | |
| [Hoppscotch] | API development environment | [Yaade] |
| [Immich] | Photo and video management solution | Google Photo, [PhotoPrism] |
@@ -49,6 +50,7 @@ The _art_ of hosting and managing applications on one's own servers instead of c
[awx]: awx.md
[baikal]: baikal.md
+[forgejo]: forgejo.md
[gitea]: gitea.md
[gitlab]: gitlab/README.md
[hoppscotch]: hoppscotch.md