1
0
homelab/ansible/roles/forgejo/tasks/main.yml

94 lines
2.0 KiB
YAML

---
- name: Install dependencies.
ansible.builtin.apt:
name:
- git
- git-lfs
state: present
- name: Create forgejo user.
ansible.builtin.user:
name: git
password: '!'
system: true
home: /home/git
state: present
- name: Create forgejo config directory.
ansible.builtin.file:
path: /etc/forgejo
owner: root
group: git
mode: "0770"
state: directory
- name: Create forgejo data directory.
ansible.builtin.file:
path: /var/lib/forgejo
owner: git
group: git
mode: "0750"
state: directory
- name: Clean forgejo binaries.
when: forgejo_clean_binaries
block:
- name: Get all forgejo binaries.
ansible.builtin.find:
paths: /usr/local/bin/
patterns: forgejo*
register: forgejo_binary_find
- name: Delete forgejo binary files.
ansible.builtin.file:
path: "{{ item.path }}"
state: absent
loop: "{{ forgejo_binary_find.files }}"
- name: Download forgejo binary.
ansible.builtin.get_url:
url: "https://codeberg.org/forgejo/forgejo/releases/download\
/v{{ forgejo_version }}/forgejo-{{ forgejo_version }}-linux-amd64"
dest: "/usr/local/bin/forgejo-{{ forgejo_version }}"
owner: root
group: root
mode: "0555"
- name: Creaty symlink to forgejo binary.
ansible.builtin.file:
src: "/usr/local/bin/forgejo-{{ forgejo_version }}"
dest: /usr/local/bin/forgejo
owner: root
group: root
mode: "0555"
state: link
notify:
- Restart forgejo service.
- name: Install forgejo service file.
ansible.builtin.copy:
src: forgejo.service
dest: /etc/systemd/system/forgejo.service
owner: root
group: root
mode: "0644"
- name: Install forgejo configuration file.
ansible.builtin.template:
src: app.ini.j2
dest: /etc/forgejo/app.ini
owner: root
group: git
mode: "0660"
notify:
- Restart forgejo service.
- name: Enable and start forgejo service.
ansible.builtin.service:
name: forgejo
state: started
enabled: true