migrate forgejo

This commit is contained in:
TÁNCZOS Vilmos Zsombor 2025-05-05 02:13:27 +02:00
parent 9eb399876e
commit 589f45b786
7 changed files with 73 additions and 35 deletions

View file

@ -14,3 +14,4 @@
- caddy - caddy
- vaultwarden - vaultwarden
- redbot - redbot
- forgejo

View file

@ -0,0 +1,6 @@
- name: Deploy Caddyfile for {{ service_name }}
ansible.builtin.template:
src: compose-service.caddy.j2
dest: '{{ caddyfiles_directory }}/{{ service_name }}'
mode: '644'
when: "'caddy' in group_names"

View file

@ -1,5 +1,4 @@
http://{{ service_name }}.{{ ansible_hostname }} { http://{{ service_name }}.{{ ansible_hostname }} {
reverse_proxy {{ service_name }}:80 reverse_proxy {{ service_name }}:{{ docker_http_port }}
encode zstd gzip encode zstd gzip
} }

View file

@ -1,32 +1,30 @@
- name: Deploy service - name: Assert mandatory variables are defines
block: ansible.builtin.assert:
- name: Assert mandatory variables are defines that:
ansible.builtin.assert: - service_name is defined
that: - docker_image is defined
- service_name is defined
- docker_image is defined
- name: Setup {{ service_user }} user and directories - name: Setup {{ service_user }} user and directories
ansible.builtin.import_tasks: ../../common/tasks/create_service_user.yml ansible.builtin.import_tasks: ../../common/tasks/create_service_user.yml
- name: Deploy {{ service_name }} docker-compose - name: Deploy {{ service_name }} docker-compose
ansible.builtin.template: ansible.builtin.template:
src: 'service.yml.j2' src: 'service.yml.j2'
dest: '{{ service_root }}/docker-compose.yml' dest: '{{ service_root }}/docker-compose.yml'
owner: '{{ service_user }}' owner: '{{ service_user }}'
group: '{{ service_user }}' group: '{{ service_user }}'
mode: '0644' mode: '644'
- name: Start {{ service_name }} container - name: Start {{ service_name }} container
community.docker.docker_compose_v2: community.docker.docker_compose_v2:
project_src: '{{ service_root }}' project_src: '{{ service_root }}'
state: present state: present
remove_orphans: true remove_orphans: true
recreate: always recreate: always
- name: Add container to Caddy network - name: Add container to Caddy network
community.docker.docker_network: community.docker.docker_network:
name: Caddy name: Caddy
connected: connected:
- '{{ service_name }}' - '{{ service_name }}'
appends: true appends: true

View file

@ -0,0 +1,5 @@
service_name: forgejo
docker_image: codeberg.org/forgejo/forgejo
docker_image_version: 11
data_directory: "{{ service_root }}/data"
public_ssh_port: 222

View file

@ -0,0 +1,31 @@
- name: Deploy Forgejo
ansible.builtin.import_role:
name: compose-service
vars:
docker_volumes:
- '{{ data_directory }}:/data'
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
docker_env:
USER_UID: '{{ getent_passwd[service_user].1 }}'
USER_GID: '{{ getent_passwd[service_user].2 }}'
FORGEJO__server__SSH_PORT: '{{ public_ssh_port }}'
FORGEJO__openid__ENABLE_OPENID_SIGNIN: false
FORGEJO__openid__ENABLE_OPENID_SIGNUP: false
docker_ports:
- "{{ public_ssh_port }}:22"
use_docker_user: false
- name: Ensure data directory exists
ansible.builtin.file:
path: '{{ data_directory }}'
state: directory
owner: '{{ service_user }}'
group: '{{ service_user }}'
mode: '700'
- name: Deploy Caddyfile for Forgejo
vars:
docker_http_port: 3000
ansible.builtin.import_tasks: ../../common/tasks/create_caddyfile_for_compose-service.yml

View file

@ -14,8 +14,6 @@
- '{{ data_directory }}:/data' - '{{ data_directory }}:/data'
- name: Deploy Caddyfile for vaultwarden - name: Deploy Caddyfile for vaultwarden
ansible.builtin.template: vars:
src: vaultwarden.caddy.j2 docker_http_port: 80
dest: '{{ caddyfiles_directory }}/vaultwarden' ansible.builtin.import_tasks: ../../common/tasks/create_caddyfile_for_compose-service.yml
mode: '644'
when: "'caddy' in group_names"