ansible/roles/forgejo/README.md
Julien Riou f418990e84
All checks were successful
/ ansible-docsmith (push) Successful in 41s
Initial commit
Signed-off-by: Julien Riou <julien@riou.xyz>
2026-03-23 10:53:38 +01:00

5.9 KiB

Ansible Role Forgejo

Ansible role to manage a Forgejo instance.

Configuration

See Variable precedence to find where you should put your own variables.

Then define at least forgejo_db_password with a strong and secure password, encrypted using ansible-vault.

Table of Content

Role variables

The following variables can be configured for this role:

Variable Type Required Default Description (abstract)
forgejo_version int No 14 Version of the Forgejo binaries
forgejo_user path No "forgejo" Operating system user to run the server
forgejo_home_dir path No "/var/lib/forgejo" Path to the home directory
forgejo_config_dir path No "/etc/forgejo" Path to the configuration directory
forgejo_web_port int No 3000 Port to listen for the web UI
forgejo_ssh_port int No 222 Port to listen for SSH
forgejo_db_username str No "forgejo" Name of the user in the database
forgejo_db_password str Yes N/A Password of the user in the database
forgejo_db_database str No "forgejo" Name of the database
forgejo_mailer dict No N/A Configure the mailer to send e-mail notifications

Define a enabled key with a boolean to enable the mailer

Define a from key with the source e-mail address

See Email setup
forgejo_service dict No N/A Configure service settings

See Service
forgejo_manage_iptables bool No false Configure iptables rules
forgejo_allowed_sources list No N/A List of IP ranges to allow when forgejo_manage_iptables is enabled

forgejo_version

⇑ Back to ToC ⇑

Version of the Forgejo binaries

  • Type: int
  • Required: No
  • Default: 14

forgejo_user

⇑ Back to ToC ⇑

Operating system user to run the server

  • Type: path
  • Required: No
  • Default: "forgejo"

forgejo_home_dir

⇑ Back to ToC ⇑

Path to the home directory

  • Type: path
  • Required: No
  • Default: "/var/lib/forgejo"

forgejo_config_dir

⇑ Back to ToC ⇑

Path to the configuration directory

  • Type: path
  • Required: No
  • Default: "/etc/forgejo"

forgejo_web_port

⇑ Back to ToC ⇑

Port to listen for the web UI

  • Type: int
  • Required: No
  • Default: 3000

forgejo_ssh_port

⇑ Back to ToC ⇑

Port to listen for SSH

  • Type: int
  • Required: No
  • Default: 222

forgejo_db_username

⇑ Back to ToC ⇑

Name of the user in the database

  • Type: str
  • Required: No
  • Default: "forgejo"

forgejo_db_password

⇑ Back to ToC ⇑

Password of the user in the database

  • Type: str
  • Required: Yes

forgejo_db_database

⇑ Back to ToC ⇑

Name of the database

  • Type: str
  • Required: No
  • Default: "forgejo"

forgejo_mailer

⇑ Back to ToC ⇑

Configure the mailer to send e-mail notifications

Define a enabled key with a boolean to enable the mailer

Define a from key with the source e-mail address

See Email setup

  • Type: dict
  • Required: No

forgejo_service

⇑ Back to ToC ⇑

Configure service settings

See Service

  • Type: dict
  • Required: No

forgejo_manage_iptables

⇑ Back to ToC ⇑

Configure iptables rules

  • Type: bool
  • Required: No
  • Default: false

forgejo_allowed_sources

⇑ Back to ToC ⇑

List of IP ranges to allow when forgejo_manage_iptables is enabled

  • Type: list
  • Required: No

Usage

Playbook example:

- hosts: all
  roles:
    - jriou.general.forgejo

Then run the playbook:

ansible-playbook play.yml

Donate

As we all love FOSS projects, you should consider donating to Codeberg, the non-profit organization behind Forgejo.