74 lines
1.8 KiB
YAML
74 lines
1.8 KiB
YAML
###### SSH Passthrough ######
|
|
- name: Install gitea shell
|
|
ansible.builtin.copy:
|
|
src: gitea-shell
|
|
dest: /usr/local/bin/gitea-shell
|
|
mode: a+x
|
|
become: true
|
|
|
|
- name: Append block to sshd config
|
|
ansible.builtin.blockinfile:
|
|
path: /etc/ssh/sshd_config
|
|
block: |
|
|
Match User git
|
|
AuthorizedKeysCommandUser git
|
|
AuthorizedKeysCommand /usr/bin/docker exec -i gitea /usr/local/bin/gitea keys -c /etc/gitea/app.ini -e git -u %u -t %t -k %k
|
|
validate: /usr/sbin/sshd -T -f %s
|
|
become: true
|
|
notify: restart sshd
|
|
#############################
|
|
|
|
- name: Create git user
|
|
user:
|
|
name: git
|
|
groups: docker
|
|
append: true
|
|
shell: /usr/local/bin/gitea-shell
|
|
system: true
|
|
register: service_user
|
|
become: true
|
|
|
|
- name: Create install directory
|
|
file:
|
|
path: "{{ install_directory }}/{{ role_name }}"
|
|
state: directory
|
|
owner: "{{ docker_user }}"
|
|
mode: "{{ docker_compose_directory_mask }}"
|
|
become: true
|
|
|
|
- name: Create data and config directories
|
|
file:
|
|
path: "{{ data_dir }}/gitea/{{ item }}"
|
|
state: directory
|
|
owner: "{{ service_user.uid }}"
|
|
mode: "{{ docker_compose_directory_mask }}"
|
|
loop:
|
|
- data
|
|
- config
|
|
become: true
|
|
|
|
- name: Install configuration file
|
|
template:
|
|
src: app.ini
|
|
dest: "{{ data_dir }}/gitea/config/app.ini"
|
|
owner: git
|
|
group: "{{ primary_gid }}"
|
|
mode: "0660"
|
|
notify: restart gitea
|
|
become: true
|
|
|
|
- name: Copy docker-compose file to destination
|
|
template:
|
|
src: docker-compose.yml
|
|
dest: "{{ install_directory }}/{{ role_name }}/docker-compose.yml"
|
|
owner: "{{ docker_user }}"
|
|
mode: "{{ docker_compose_file_mask }}"
|
|
validate: docker-compose -f %s config
|
|
become: true
|
|
|
|
- name: Start docker container
|
|
community.docker.docker_compose_v2:
|
|
project_src: "{{ install_directory }}/{{ role_name }}"
|
|
pull: true
|
|
remove_orphans: yes
|