gitea#

Ansible role to install gitea server in docker environment

This role configure :

  • docker network

  • docker service

  • docker volume

an example of variables file :

---
gitea_user:
  uname: "gitea"
  uid: "6000"
  gname: "gitea"
  gid: "6000"
  home: "/var/local/gitea"

# Docker part
gitea_docker_project_directory: "{{ gitea_user.home }}/gitea"
gitea_docker_data_directory: "{{ gitea_docker_project_directory }}/data"
gitea_docker_log_directory: "{{ gitea_docker_project_directory }}/log"
gitea_docker_compose_file_path: "{{ gitea_docker_project_directory }}/docker-compose.yml"

gitea_docker_network_name: "gitea"
gitea_docker_network_subnet: 172.26.0.0/24
gitea_docker_network_gateway: 172.26.0.1

gitea_server_name: "gitea"
gitea_image: "gitea/gitea:1.17.3"
gitea_container_name: "gitea-server"
gitea_docker_network_ipv4_address: "172.26.0.42"

gitea_docker_systemd_service_file: "/lib/systemd/system/gitea.service"

# APP part
gitea_user_uid: "1000"
gitea_user_gid: "1000"

gitea_disable_registration: "true"

gitea_web_protocol: "http"
gitea_web_port: "3000"
gitea_ssh_port: "2222"

gitea_server_domain: "localhost"
gitea_server_min_password_length: "6"

gitea_ssl_mode: "disable"

gitea_app_name: "Gitea"

gitea_repo_root_path: "/data/git/repositories"
gitea_lfs_root_path: "/data/git/lfs"
gitea_run_user: "git"
__gitea_app_url: "{{ gitea_web_protocol }}://{{ gitea_server_domain }}:{{ gitea_web_port }}/"
gitea_log_root_path: "/data/gitea/log"
gitea_enable_federated_avatar: "on"
gitea_enable_open_id_sign_in: "on"
gitea_enable_open_id_sign_up: "on"
gitea_default_allow_create_organization: "on"
gitea_default_enable_timetracking: "on"
gitea_no_reply_address: "noreply.gitea.local.ici"
gitea_password_algorithm: "pbkdf2"
gitea_admin_name: "gitea"
gitea_admin_passwd: "gitea"
gitea_admin_email: "gitea@local.ici"

# Passwd complexity; can be : "lower,upper,digit,spec"
gitea_server_password_complexity: "off"

# MAIL part
gitea_smtp_host: ""
gitea_smtp_from: ""
gitea_smtp_user: ""
gitea_smtp_passwd: ""

# DB part
gitea_db_type: "postgres"
gitea_db_host: "172.16.1.42"
gitea_db_port: "5432"
gitea_db_name: "database42"
gitea_db_user: "user42"
gitea_db_password: "password42"
gitea_db_schema: ""
gitea_db_path: "/data/gitea/gitea.db"
gitea_db_charset: "utf8"

Enjoy :)

docker compose -f docker-compose.gitea.yml -p glxforge-gitea ps -a –format json

/app/gitea/gitea admin user create –admin –username glxforge-admin –random-password –email admin@gitea.local.ici –access-token

docker exec -u git 633d755cb66b05183f5882eed244967a0c2326e551e18b909cdfd9c74e137ce2 /app/gitea/gitea admin user create –admin –username glxforge-admin –random-password –email admin@gitea.local.ici –access-token


glxforge_gitea_version: "1.18.3"
glxforge_gitea_pgsql_version: "15.2"
glxforge_gitea_container_image: "gitea/gitea:{{ glxforge_gitea_version }}"
glxforge_gitea_pgsql_container_image: "postgres:{{ glxforge_gitea_pgsql_version }}-alpine"
glxforge_gitea_docker_network_name: glxforge
glxforge_gitea_domain: "local.ici"
glxforge_gitea_docker_name: "gitea.{{ glxforge_gitea_domain }}"
glxforge_gitea_compose_project: "glxforge-gitea"

glxforge_gitea_http_port: "{{ glxforge_http_port | default('3000') }}"
glxforge_gitea_https_port: "{{ glxforge_https_port | default('3443') }}"
glxforge_gitea_ssh_port: "{{ glxforge_ssh_port | default('3022') }}"

Container name


glxforge_gitea_container_name: "gitea-server"
glxforge_gitea_pgsql_container_name: "gitea-pgsql"

Container ipv4 address


glxforge_gitea_docker_network_ipv4_address: "172.26.0.10"
glxforge_gitea_pgsql_docker_network_ipv4_address: "172.26.0.11"

glxforge_gitea_uname: "{{ glxforge_uname | default('glxforge') }}"
glxforge_gitea_uid: "{{ glxforge_uid | default('4201') }}"

glxforge_gitea_gname: "{{ glxforge_gname | default('glxforge') }}"
glxforge_gitea_gid: "{{ glxforge_uid | default('4201') }}"

glxforge_gitea_home_dir: "/home/{{ glxforge_gitea_uname }}"
glxforge_gitea_data_dir: "{{ glxforge_gitea_home_dir }}/gitea"

glxforge_gitea_compose_filename: "docker-compose.gitea.yml"
glxforge_gitea_compose_file_path: "{{ glxforge_gitea_home_dir }}/{{ glxforge_gitea_compose_filename }}"

glxforge_gitea_data_dir_server: "{{ glxforge_gitea_data_dir }}/gitea-server"
glxforge_gitea_data_dir_pgsql: "{{ glxforge_gitea_data_dir }}/gitea-pgsql"


glxforge_gitea_secret_token_path: "{{ glxforge_gitea_data_dir_server }}/internal.token"
glxforge_gitea_access_token_dir: "{{ glxforge_gitea_home_dir }}/group_vars/galaxie_forge"
glxforge_gitea_access_token_path: "{{ glxforge_gitea_access_token_dir }}/gitea.output.yml"