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