101 lines
2.3 KiB
YAML
101 lines
2.3 KiB
YAML
---
|
|
|
|
- name: Combine default and user settings, decrypt vault.
|
|
ansible.builtin.set_fact:
|
|
forgejo_settings: "{{ forgejo_default_settings |
|
|
ansible.builtin.combine(forgejo_settings, recursive=true) }}"
|
|
no_log: true
|
|
|
|
- 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_settings.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_settings.version }}\
|
|
/forgejo-{{ forgejo_settings.version }}-linux-amd64"
|
|
dest: "/usr/local/bin/forgejo-{{ forgejo_settings.version }}"
|
|
owner: root
|
|
group: root
|
|
mode: "0555"
|
|
|
|
- name: Creaty symlink to forgejo binary.
|
|
ansible.builtin.file:
|
|
src: "/usr/local/bin/forgejo-{{ forgejo_settings.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
|