This repository has been archived on 2020-10-27. You can view files and clone it, but cannot push or open issues or pull requests.
git.autonomic.zone/ansible/pre-deploy.yml
2020-03-22 12:39:40 +01:00

122 lines
3.4 KiB
YAML

---
- hosts: all
gather_facts: false
tasks:
- name: Load variables
include_vars:
dir: "{{ dokku_lib_root }}/data/ansible/gitea/vars/"
extensions:
- yml
- name: Configure git.autonomic.zone domain
dokku_domains:
app: gitea
domains:
- git.autonomic.zone
state: present
- name: Create mariadb database
shell: "dokku mariadb:create gitea --password {{ db_passwd }} --root-password {{ root_db_passwd }}"
args:
creates: /var/lib/dokku/services/mariadb/gitea
- name: Setup host Gitea group
group:
name: gitea
system: true
state: present
become: true
- name: Setup host Gitea user
user:
name: gitea
comment: gitea user
create_home: true
home: /var/lib/gitea
group: gitea
system: true
state: present
generate_ssh_key: true
ssh_key_bits: 2048
ssh_key_file: .ssh/id_rsa
become: true
- name: Get uid/guid of the gitea user
getent:
database: passwd
key: gitea
split: ":"
become: true
- name: Create volume mount configuration directories
file:
path: "{{ item }}"
state: directory
owner: dokku
group: dokku
with_items:
- /var/lib/gitea/gitea/
- /var/lib/gitea/gitea/conf
become: true
- name: Copy over app.ini gitea configuration
vars:
DISABLE_REGISTRATION: "true"
ENABLE_OPENID_SIGNIN: "true"
ENABLE_OPENID_SIGNUP: "false"
INTERNAL_TOKEN: "{{ internal_token }}"
JWT_SECRET: "{{ jwt_secret }}"
REQUIRE_SIGNIN_VIEW: "false"
ALLOW_ONLY_EXTERNAL_REGISTRATION: "true"
RUN_MODE: "prod"
SECRET_KEY: "{{ secret_key }}"
template:
src: app.ini.j2
dest: /var/lib/gitea/gitea/conf/app.ini
owner: dokku
group: dokku
become: true
- name: Specify docker volume mounts
dokku_storage:
app: gitea
mounts:
- /var/lib/gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /var/lib/dokku/services/mariadb/gitea:/var/lib/mysql
- name: Store gitea git user uid/guid
set_fact:
gitea_user_uid: "{{ getent_passwd['gitea'][1] }}"
gitea_user_guid: "{{ getent_passwd['gitea'][2] }}"
- name: Configure the dokku app environment
dokku_config:
app: gitea
restart: false
config:
USER_GID: "{{ gitea_user_guid }}"
USER_UID: "{{ gitea_user_uid }}"
- name: Configure the docker env vars
dokku_config:
app: gitea
restart: false
config:
ADMIN_MAIL: "{{ autonomic_admin_mail }}"
ADMIN_PASS: "{{ autonomic_admin_pass }}"
ADMIN_USER: "{{ autonomic_admin_user }}"
DB_TYPE: "mysql"
DB_HOST: "dokku-mariadb-gitea:3306"
DB_NAME: "gitea"
DB_USER: "mariadb" # https://github.com/dokku/dokku-mariadb/issues/89
DB_PASSWD: "{{ db_passwd }}"
DISABLE_REGISTRATION: "true"
DOMAIN: "git.autonomic.zone"
INSTALL_LOCK: "true"
RUN_MODE: "prod"
USER_GID: "{{ gitea_user_guid }}"
USER_UID: "{{ gitea_user_uid }}"
DOKKU_LETSENCRYPT_EMAIL: "{{ autonomic_admin_mail }}"