mirror of
https://github.com/davestephens/ansible-nas
synced 2025-01-13 12:08:53 +00:00
84 lines
2.9 KiB
YAML
84 lines
2.9 KiB
YAML
---
|
|
- name: Start Gitea
|
|
block:
|
|
- name: Create Gitea Directories
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
recurse: yes
|
|
with_items:
|
|
- "{{ gitea_data_directory }}/gitea"
|
|
- "{{ gitea_data_directory }}/mysql"
|
|
|
|
- name: Create gitea network
|
|
community.docker.docker_network:
|
|
name: "{{ gitea_network_name }}"
|
|
|
|
- name: Create MySQL container for Gitea
|
|
community.docker.docker_container:
|
|
container_default_behavior: no_defaults
|
|
name: "{{ gitea_mysql_container_name }}"
|
|
image: "{{ gitea_mysql_image_name }}:{{ gitea_mysql_image_version }}"
|
|
pull: true
|
|
networks:
|
|
- name: "{{ gitea_network_name }}"
|
|
network_mode: "{{ gitea_network_name }}"
|
|
volumes:
|
|
- "{{ gitea_data_directory }}/mysql:/var/lib/mysql:rw"
|
|
env:
|
|
MYSQL_DATABASE: "gitea"
|
|
MYSQL_USER: "gitea"
|
|
MYSQL_PASSWORD: "gitea"
|
|
MYSQL_ROOT_PASSWORD: "gitea"
|
|
restart_policy: unless-stopped
|
|
memory: "{{ gitea_mysql_memory }}"
|
|
|
|
- name: Create Gitea container
|
|
community.docker.docker_container:
|
|
container_default_behavior: no_defaults
|
|
name: "{{ gitea_container_name }}"
|
|
image: "{{ gitea_image_name }}:{{ gitea_image_version }}"
|
|
pull: true
|
|
networks:
|
|
- name: "{{ gitea_network_name }}"
|
|
network_mode: "{{ gitea_network_name }}"
|
|
volumes:
|
|
- "{{ gitea_data_directory }}/gitea:/data:rw"
|
|
ports:
|
|
- "{{ gitea_port_http }}:3000"
|
|
- "{{ gitea_port_ssh }}:22"
|
|
env:
|
|
DB_TYPE: "mysql"
|
|
DB_HOST: "{{ gitea_mysql_container_name }}:3306"
|
|
DB_NAME: "gitea"
|
|
DB_USER: "gitea"
|
|
DB_PASSWD: "gitea"
|
|
RUN_MODE: "prod"
|
|
SSH_DOMAIN: "{{ ansible_nas_hostname }}"
|
|
SSH_PORT: "{{ gitea_port_ssh }}"
|
|
ROOT_URL: "http://{{ gitea_hostname }}:{{ gitea_port_http }}/"
|
|
USER_UID: "1000"
|
|
USER_GID: "1000"
|
|
restart_policy: unless-stopped
|
|
memory: "{{ gitea_memory }}"
|
|
labels:
|
|
traefik.enable: "{{ gitea_available_externally | string }}"
|
|
traefik.http.routers.gitea.rule: "Host(`{{ gitea_hostname }}.{{ ansible_nas_domain }}`)"
|
|
traefik.http.routers.gitea.tls.certresolver: "letsencrypt"
|
|
traefik.http.routers.gitea.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
|
traefik.http.routers.gitea.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
|
traefik.http.services.gitea.loadbalancer.server.port: "3000"
|
|
when: gitea_enabled is true
|
|
|
|
- name: Stop Gitea
|
|
block:
|
|
- name: Stop Gitea
|
|
docker_container:
|
|
name: "{{ gitea_container_name }}"
|
|
state: absent
|
|
|
|
- name: Stop Gitea Mysql
|
|
docker_container:
|
|
name: "{{ gitea_mysql_container_name }}"
|
|
state: absent
|
|
when: gitea_enabled is false
|