Homelab/ansible/playbooks/forgejo.yml

64 lines
1.6 KiB
YAML
Raw Normal View History

---
# VM Forgejo : forge logicielle legere
# Deploie Forgejo + PostgreSQL via Docker Compose
- name: Deploiement Forgejo
hosts: forgejo
become: true
tasks:
- name: Creation des repertoires Forgejo
ansible.builtin.file:
path: "{{ item }}"
state: directory
owner: "{{ admin_user }}"
group: "{{ admin_user }}"
mode: "0755"
loop:
- /opt/forgejo
- /opt/forgejo/data
- /opt/forgejo/postgres
tags: [forgejo]
- name: Deploiement docker-compose Forgejo
ansible.builtin.copy:
src: ../../docker/forgejo/docker-compose.yml
dest: /opt/forgejo/docker-compose.yml
owner: "{{ admin_user }}"
group: "{{ admin_user }}"
mode: "0644"
tags: [forgejo]
- name: Deploiement .env Forgejo
ansible.builtin.template:
src: forgejo.env.j2
dest: /opt/forgejo/.env
owner: "{{ admin_user }}"
group: "{{ admin_user }}"
mode: "0600"
tags: [forgejo]
- name: Demarrage Forgejo
community.docker.docker_compose_v2:
project_src: /opt/forgejo
state: present
tags: [forgejo]
# Port 3000 (web) + 2222 (SSH Git)
- name: Ouverture ports Forgejo
ansible.posix.firewalld:
port: "{{ item }}"
permanent: true
state: enabled
loop:
- 3000/tcp
- 2222/tcp
notify: reload firewalld
tags: [forgejo, firewall]
handlers:
- name: reload firewalld
ansible.builtin.systemd:
name: firewalld
state: reloaded