- Jinja 100%
|
Some checks failed
/ ansible-docsmith (push) Failing after 51s
Signed-off-by: Julien Riou <julien@riou.xyz> |
||
|---|---|---|
| .forgejo/workflows | ||
| defaults | ||
| files/runners | ||
| handlers | ||
| meta | ||
| tasks | ||
| templates | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
Ansible Role Forgejo
Ansible role to manage a Forgejo instance.
Installation
Use Ansible Galaxy to install the role locally:
ansible-galaxy role install git+https://git.riou.xyz/jriou/jriou.forgejo.git
Or use a requirements.yml file:
roles:
- src: git+https://git.riou.xyz/jriou/jriou.forgejo.git
type: git
See Storing and finding roles.
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
forgejo_serverforgejo_versionforgejo_home_dirforgejo_config_dirforgejo_web_portforgejo_ssh_portforgejo_db_usernameforgejo_db_passwordforgejo_db_databaseforgejo_mailerforgejo_serviceforgejo_manage_iptablesforgejo_allowed_sourcesforgejo_runners_versionforgejo_runners_config_dirforgejo_runners_instanceforgejo_runners
Role variables
The following variables can be configured for this role:
| Variable | Type | Required | Default | Description (abstract) |
|---|---|---|---|---|
forgejo_server |
bool |
No | true |
Enable the server mode |
forgejo_version |
int |
No | 14 |
Version of the Forgejo binaries |
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 mailerDefine a from key with the source e-mail addressSee 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_runners_version |
str |
No | "9.1.1" |
Version of the runners |
forgejo_runners_config_dir |
path |
No | "/etc/forgejo-runners" |
Path to the configuration directory of the runners |
forgejo_runners_instance |
str |
No | N/A | URL of the Forgejo instance to register the runners |
forgejo_runners |
dict |
No | N/A | List of runners to configure The key is the name of the repository on the instance The value is the token |
forgejo_server
Enable the server mode
- Type:
bool - Required: No
- Default:
true
forgejo_version
Version of the Forgejo binaries
- Type:
int - Required: No
- Default:
14
forgejo_home_dir
Path to the home directory
- Type:
path - Required: No
- Default:
"/var/lib/forgejo"
forgejo_config_dir
Path to the configuration directory
- Type:
path - Required: No
- Default:
"/etc/forgejo"
forgejo_web_port
Port to listen for the web UI
- Type:
int - Required: No
- Default:
3000
forgejo_ssh_port
Port to listen for SSH
- Type:
int - Required: No
- Default:
222
forgejo_db_username
Name of the user in the database
- Type:
str - Required: No
- Default:
"forgejo"
forgejo_db_password
Password of the user in the database
- Type:
str - Required: Yes
forgejo_db_database
Name of the database
- Type:
str - Required: No
- Default:
"forgejo"
forgejo_mailer
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
Configure service settings
See Service
- Type:
dict - Required: No
forgejo_manage_iptables
Configure iptables rules
- Type:
bool - Required: No
- Default:
false
forgejo_allowed_sources
List of IP ranges to allow when forgejo_manage_iptables is enabled
- Type:
list - Required: No
forgejo_runners_version
Version of the runners
- Type:
str - Required: No
- Default:
"9.1.1"
forgejo_runners_config_dir
Path to the configuration directory of the runners
- Type:
path - Required: No
- Default:
"/etc/forgejo-runners"
forgejo_runners_instance
URL of the Forgejo instance to register the runners
- Type:
str - Required: No
forgejo_runners
List of runners to configure
The key is the name of the repository on the instance
The value is the token
- Type:
dict - Required: No
Usage
Example of a basic forgejo.yml playbook:
- hosts: forgejo
roles:
- jriou.forgejo
Then run the playbook:
ansible-playbook forgejo.yml
Donate
As we all love FOSS projects, you should consider donating to Codeberg, the non-profit organization behind Forgejo.