init role
This commit is contained in:
		
						commit
						0a8fdc88f0
					
				
					 4 changed files with 224 additions and 0 deletions
				
			
		
							
								
								
									
										34
									
								
								defaults/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								defaults/main.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,34 @@
 | 
			
		|||
---
 | 
			
		||||
gitea_version: 1.17.3
 | 
			
		||||
gitea_arch: "amd64"
 | 
			
		||||
gitea_user: "gitea"
 | 
			
		||||
gitea_dir: "/opt/gitea"
 | 
			
		||||
gitea_dir_etc: "{{gitea_dir}}/etc"
 | 
			
		||||
gitea_dir_bin: "{{gitea_dir}}/bin"
 | 
			
		||||
gitea_dir_var: "{{gitea_dir}}/var"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
gitea_domain: "git.corp.local"
 | 
			
		||||
gitea_http_port: 3000
 | 
			
		||||
gitea_local_url: "http://localhost:3000"
 | 
			
		||||
gitea_external_url: "https://{{gitea_domain}}"
 | 
			
		||||
 | 
			
		||||
gitea_ssh_disable: "FALSE"
 | 
			
		||||
gitea_ssh_port: 2222
 | 
			
		||||
gitea_ssh_start: "TRUE"
 | 
			
		||||
gitea_ssh_builtin_user: "git"
 | 
			
		||||
 | 
			
		||||
gitea_lfs_start: "TRUE"
 | 
			
		||||
 | 
			
		||||
# gitea_db_type: "mysql"
 | 
			
		||||
gitea_db_type: "sqlite3"
 | 
			
		||||
gitea_db_host: "localhost:3306"
 | 
			
		||||
gitea_db_name: "gitea"
 | 
			
		||||
gitea_db_user: "gitea"
 | 
			
		||||
gitea_db_passwd: "mypassword"
 | 
			
		||||
gitea_db_ssl_mode: "disable"
 | 
			
		||||
gitea_db_path: "{{gitea_dir_var}}/data/gitea.db"
 | 
			
		||||
 | 
			
		||||
gitea_admin_user: "myadmin"
 | 
			
		||||
gitea_admin_email: "{{gitea_admin_user}}@{{gitea_domain}}"
 | 
			
		||||
gitea_admin_password: "mypassword"
 | 
			
		||||
							
								
								
									
										87
									
								
								tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,87 @@
 | 
			
		|||
- name: Install prerequisites
 | 
			
		||||
  ansible.builtin.package:
 | 
			
		||||
    name: git
 | 
			
		||||
    state: present
 | 
			
		||||
    update_cache : true
 | 
			
		||||
    
 | 
			
		||||
- name: Create gitea user
 | 
			
		||||
  ansible.builtin.user:
 | 
			
		||||
    name: "{{gitea_user}}"
 | 
			
		||||
    shell: /bin/bash
 | 
			
		||||
    create_home: no
 | 
			
		||||
    home: '{{gitea_dir}}'
 | 
			
		||||
 | 
			
		||||
- name: create gitea dir
 | 
			
		||||
  file:
 | 
			
		||||
    path: '{{gitea_dir}}'
 | 
			
		||||
    state: directory
 | 
			
		||||
    owner: "{{gitea_user}}"
 | 
			
		||||
    group: "{{gitea_user}}"
 | 
			
		||||
    mode: 0755
 | 
			
		||||
 | 
			
		||||
- name: create gitea bin dir
 | 
			
		||||
  file:
 | 
			
		||||
    path: '{{gitea_dir_bin}}'
 | 
			
		||||
    state: directory
 | 
			
		||||
    owner: "{{gitea_user}}"
 | 
			
		||||
    group: "{{gitea_user}}"
 | 
			
		||||
    mode: 0755
 | 
			
		||||
 | 
			
		||||
- name: create gitea etc dir
 | 
			
		||||
  file:
 | 
			
		||||
    path: '{{gitea_dir_etc}}'
 | 
			
		||||
    state: directory
 | 
			
		||||
    owner: "{{gitea_user}}"
 | 
			
		||||
    group: "{{gitea_user}}"
 | 
			
		||||
    mode: 0755
 | 
			
		||||
 | 
			
		||||
- name: create gitea var dir
 | 
			
		||||
  file:
 | 
			
		||||
    path: '{{gitea_dir_var}}'
 | 
			
		||||
    state: directory
 | 
			
		||||
    owner: "{{gitea_user}}"
 | 
			
		||||
    group: "{{gitea_user}}"
 | 
			
		||||
    mode: 0755
 | 
			
		||||
 | 
			
		||||
- name: Check if gitea binarie is already installed
 | 
			
		||||
  stat:
 | 
			
		||||
    path: '{{gitea_dir_bin}}/gitea'
 | 
			
		||||
  register: gitea_exist
 | 
			
		||||
 | 
			
		||||
- name: Download statically linked cfssl binary
 | 
			
		||||
  get_url:
 | 
			
		||||
    url: https://dl.gitea.io/gitea/{{gitea_version}}/gitea-{{gitea_version}}-linux-{{gitea_arch}}
 | 
			
		||||
    dest: '{{gitea_dir_bin}}/gitea'
 | 
			
		||||
    mode: 0755
 | 
			
		||||
  when: gitea_exist.stat.exists == false
 | 
			
		||||
 | 
			
		||||
- name: creating gitea config file
 | 
			
		||||
  template:
 | 
			
		||||
    src: app.ini.j2
 | 
			
		||||
    dest: '{{gitea_dir_etc}}/app.ini'
 | 
			
		||||
    owner: "{{gitea_user}}"
 | 
			
		||||
    group: "{{gitea_user}}"
 | 
			
		||||
    mode: 0700
 | 
			
		||||
 | 
			
		||||
- name: Création du fichier de service /lib/systemd/system/gitea.service
 | 
			
		||||
  ansible.builtin.template:
 | 
			
		||||
    src: gitea.service.j2
 | 
			
		||||
    dest: /lib/systemd/system/gitea.service
 | 
			
		||||
    owner: root
 | 
			
		||||
    group: root
 | 
			
		||||
    mode: 0644
 | 
			
		||||
 | 
			
		||||
- name : Create firewall rules
 | 
			
		||||
  ansible.builtin.shell: 'firewall-cmd --zone=public --permanent --add-port={{gitea_http_port}}/tcp && firewall-cmd --reload'
 | 
			
		||||
 | 
			
		||||
- name: create gitea database
 | 
			
		||||
  shell: "su - {{gitea_user}} -c '{{gitea_dir_bin}}/gitea migrate --config {{gitea_dir_etc}}/app.ini'"
 | 
			
		||||
 | 
			
		||||
- name: create gitea admin user
 | 
			
		||||
  shell: "su - {{gitea_user}} -c '{{gitea_dir_bin}}/gitea admin user create --username {{gitea_admin_user}} --password {{gitea_admin_password}} --email {{gitea_admin_email}} --admin --config {{gitea_dir_etc}}/app.ini'"
 | 
			
		||||
 | 
			
		||||
- name: Démarrage et activation du service gitea
 | 
			
		||||
  ansible.builtin.service:
 | 
			
		||||
    name: gitea
 | 
			
		||||
    state: started
 | 
			
		||||
    enabled: true
 | 
			
		||||
							
								
								
									
										82
									
								
								templates/app.ini.j2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								templates/app.ini.j2
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,82 @@
 | 
			
		|||
APP_NAME = {{gitea_domain}}
 | 
			
		||||
RUN_USER = {{gitea_user}}
 | 
			
		||||
RUN_MODE = prod
 | 
			
		||||
 | 
			
		||||
[server]
 | 
			
		||||
LOCAL_ROOT_URL   = {{gitea_local_url}}
 | 
			
		||||
SSH_DOMAIN       = {{gitea_domain}}
 | 
			
		||||
DOMAIN           = {{gitea_domain}}
 | 
			
		||||
HTTP_PORT        = {{gitea_http_port}}
 | 
			
		||||
ROOT_URL         = {{gitea_external_url}}
 | 
			
		||||
DISABLE_SSH      = {{gitea_ssh_disable}}
 | 
			
		||||
BUILTIN_SSH_SERVER_USER = {{gitea_ssh_builtin_user}}
 | 
			
		||||
SSH_PORT         = {{gitea_ssh_port}}
 | 
			
		||||
START_SSH_SERVER = {{gitea_ssh_start}}
 | 
			
		||||
LFS_START_SERVER = {{gitea_lfs_start}}
 | 
			
		||||
LFS_JWT_SECRET   = 
 | 
			
		||||
OFFLINE_MODE     = false
 | 
			
		||||
 | 
			
		||||
[database]
 | 
			
		||||
DB_TYPE  = {{gitea_db_type}}
 | 
			
		||||
HOST     = {{gitea_db_host}}
 | 
			
		||||
NAME     = {{gitea_db_name}}
 | 
			
		||||
USER     = {{gitea_db_user}}
 | 
			
		||||
PASSWD   = {{gitea_db_passwd}}
 | 
			
		||||
SCHEMA   = 
 | 
			
		||||
SSL_MODE = {{gitea_db_ssl_mode}}
 | 
			
		||||
CHARSET  = utf8
 | 
			
		||||
LOG_SQL  = false
 | 
			
		||||
PATH = {{gitea_db_path}}
 | 
			
		||||
 | 
			
		||||
[repository]
 | 
			
		||||
ROOT = {{gitea_dir}}/var/data/gitea-repositories
 | 
			
		||||
 | 
			
		||||
[lfs]
 | 
			
		||||
PATH = {{gitea_dir}}/var/data/lfs
 | 
			
		||||
 | 
			
		||||
[mailer]
 | 
			
		||||
ENABLED = true
 | 
			
		||||
MAILER_TYPE = smtp
 | 
			
		||||
HOST=localhost:25
 | 
			
		||||
FROM    = no-reply@git.gresse.net
 | 
			
		||||
IS_TLS_ENABLED = false
 | 
			
		||||
 | 
			
		||||
[service]
 | 
			
		||||
REGISTER_EMAIL_CONFIRM            = false
 | 
			
		||||
ENABLE_NOTIFY_MAIL                = false
 | 
			
		||||
DISABLE_REGISTRATION              = true
 | 
			
		||||
ALLOW_ONLY_EXTERNAL_REGISTRATION  = false
 | 
			
		||||
ENABLE_CAPTCHA                    = false
 | 
			
		||||
REQUIRE_SIGNIN_VIEW               = false
 | 
			
		||||
DEFAULT_KEEP_EMAIL_PRIVATE        = false
 | 
			
		||||
DEFAULT_ALLOW_CREATE_ORGANIZATION = true
 | 
			
		||||
DEFAULT_ENABLE_TIMETRACKING       = true
 | 
			
		||||
NO_REPLY_ADDRESS                  = noreply.localhost
 | 
			
		||||
 | 
			
		||||
[picture]
 | 
			
		||||
DISABLE_GRAVATAR        = false
 | 
			
		||||
ENABLE_FEDERATED_AVATAR = true
 | 
			
		||||
 | 
			
		||||
[openid]
 | 
			
		||||
ENABLE_OPENID_SIGNIN = false
 | 
			
		||||
ENABLE_OPENID_SIGNUP = false
 | 
			
		||||
 | 
			
		||||
[session]
 | 
			
		||||
PROVIDER = file
 | 
			
		||||
 | 
			
		||||
[log]
 | 
			
		||||
MODE      = console
 | 
			
		||||
LEVEL     = info
 | 
			
		||||
ROOT_PATH = /opt/gitea/var/log
 | 
			
		||||
ROUTER    = console
 | 
			
		||||
 | 
			
		||||
[repository.pull-request]
 | 
			
		||||
DEFAULT_MERGE_STYLE = merge
 | 
			
		||||
 | 
			
		||||
[repository.signing]
 | 
			
		||||
DEFAULT_TRUST_MODEL = committer
 | 
			
		||||
 | 
			
		||||
[security]
 | 
			
		||||
INSTALL_LOCK       = true
 | 
			
		||||
INTERNAL_TOKEN     = 
 | 
			
		||||
PASSWORD_HASH_ALGO = pbkdf2
 | 
			
		||||
							
								
								
									
										21
									
								
								templates/gitea.service.j2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								templates/gitea.service.j2
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
[Unit]
 | 
			
		||||
Description=Gitea (Git with a cup of tea)
 | 
			
		||||
After=syslog.target
 | 
			
		||||
After=network.target
 | 
			
		||||
 | 
			
		||||
Wants=mariadb.service
 | 
			
		||||
After=mariadb.service
 | 
			
		||||
 | 
			
		||||
[Service]
 | 
			
		||||
LimitNOFILE=524288:524288
 | 
			
		||||
RestartSec=2s
 | 
			
		||||
Type=simple
 | 
			
		||||
User={{gitea_user}}
 | 
			
		||||
Group={{gitea_user}}
 | 
			
		||||
WorkingDirectory={{gitea_dir_var}}
 | 
			
		||||
ExecStart={{gitea_dir_bin}}/gitea web --config {{gitea_dir_etc}}/app.ini
 | 
			
		||||
Restart=always
 | 
			
		||||
Environment=USER=gitea HOME={{gitea_dir}} GITEA_WORK_DIR={{gitea_dir_var}}
 | 
			
		||||
 | 
			
		||||
[Install]
 | 
			
		||||
WantedBy=multi-user.target
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue