Add gitea to ansible
This commit is contained in:
		
							parent
							
								
									3b5e27be2f
								
							
						
					
					
						commit
						e5c3a4e0d3
					
				
					 11 changed files with 110 additions and 107 deletions
				
			
		
							
								
								
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -7,4 +7,5 @@ diagram_assets/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# services already handled by ansible
 | 
					# services already handled by ansible
 | 
				
			||||||
acme-dns/
 | 
					acme-dns/
 | 
				
			||||||
 | 
					gitea/
 | 
				
			||||||
umami/
 | 
					umami/
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,4 +8,5 @@
 | 
				
			||||||
  hosts: local-dev
 | 
					  hosts: local-dev
 | 
				
			||||||
  roles:
 | 
					  roles:
 | 
				
			||||||
    - acme-dns
 | 
					    - acme-dns
 | 
				
			||||||
 | 
					    - gitea
 | 
				
			||||||
    - umami
 | 
					    - umami
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,4 +3,5 @@
 | 
				
			||||||
  hosts: node002
 | 
					  hosts: node002
 | 
				
			||||||
  roles:
 | 
					  roles:
 | 
				
			||||||
    - acme-dns
 | 
					    - acme-dns
 | 
				
			||||||
 | 
					    - gitea
 | 
				
			||||||
    - umami
 | 
					    - umami
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
- name: Deploy acme-dns
 | 
					- name: Deploy {{ svc.name }}
 | 
				
			||||||
  tags: acme-dns
 | 
					  tags:
 | 
				
			||||||
 | 
					    - acme-dns
 | 
				
			||||||
 | 
					    - certificates
 | 
				
			||||||
  block:
 | 
					  block:
 | 
				
			||||||
    - import_tasks: steps/create-service-directory.yml
 | 
					    - import_tasks: steps/create-service-directory.yml
 | 
				
			||||||
    - import_tasks: steps/template-docker-compose.yml
 | 
					    - import_tasks: steps/template-docker-compose.yml
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										7
									
								
								_ansible/roles/gitea/tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								_ansible/roles/gitea/tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: Deploy {{ svc.name }}
 | 
				
			||||||
 | 
					  tags:
 | 
				
			||||||
 | 
					    - gitea
 | 
				
			||||||
 | 
					    - git
 | 
				
			||||||
 | 
					  block:
 | 
				
			||||||
 | 
					    - import_tasks: deploy-common-service.yml
 | 
				
			||||||
							
								
								
									
										93
									
								
								_ansible/roles/gitea/vars/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								_ansible/roles/gitea/vars/main.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,93 @@
 | 
				
			||||||
 | 
					svc:
 | 
				
			||||||
 | 
					  domain: "git.serguzim.me"
 | 
				
			||||||
 | 
					  name: gitea
 | 
				
			||||||
 | 
					  port: 3000
 | 
				
			||||||
 | 
					  caddy_extra: header /attachments/* Access-Control-Allow-Origin *
 | 
				
			||||||
 | 
					  db:
 | 
				
			||||||
 | 
					    host: "{{ postgres.host }}"
 | 
				
			||||||
 | 
					    port: "{{ postgres.port }}"
 | 
				
			||||||
 | 
					  ssh_port: 22
 | 
				
			||||||
 | 
					  ssh_port_alt: 3022
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					svc_env:
 | 
				
			||||||
 | 
					  GITEA__database__DB_TYPE: "postgres"
 | 
				
			||||||
 | 
					  GITEA__database__HOST: "{{ svc.db.host }}:{{ svc.db.port }}"
 | 
				
			||||||
 | 
					  GITEA__database__NAME: "gitea"
 | 
				
			||||||
 | 
					  GITEA__database__USER: "{{ vault_gitea.db.user }}"
 | 
				
			||||||
 | 
					  GITEA__database__PASSWD: "{{ vault_gitea.db.pass }}"
 | 
				
			||||||
 | 
					  GITEA__database__SSL_MODE: "verify-full"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  GITEA__repository__ENABLE_PUSH_CREATE_USER: "true"
 | 
				
			||||||
 | 
					  GITEA__repository__ENABLE_PUSH_CREATE_ORG: "true"
 | 
				
			||||||
 | 
					  GITEA__repository__DEFAULT_BRANCH: "main"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  GITEA__cors__ENABLED: "true"
 | 
				
			||||||
 | 
					  GITEA__cors__SCHEME: "https"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  GITEA__ui__DEFAULT_THEME: "arc-green"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  GITEA__server__DOMAIN: "{{ svc.domain }}"
 | 
				
			||||||
 | 
					  GITEA__server__SSH_DOMAIN: "{{ svc.domain }}"
 | 
				
			||||||
 | 
					  GITEA__server__SSH_PORT: "{{ svc.ssh_port }}"
 | 
				
			||||||
 | 
					  GITEA__server__ROOT_URL: "https://{{ svc.domain }}"
 | 
				
			||||||
 | 
					  GITEA__server__OFFLINE_MODE: "true"
 | 
				
			||||||
 | 
					  GITEA__server__LFS_JWT_SECRET: "{{ vault_gitea.server_lfs_jwt_secret }}"
 | 
				
			||||||
 | 
					  GITEA__server__LFS_START_SERVER: "true"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  GITEA__security__INSTALL_LOCK: "true"
 | 
				
			||||||
 | 
					  GITEA__security__INTERNAL_TOKEN: "{{ vault_gitea.security_internal_token }}"
 | 
				
			||||||
 | 
					  GITEA__security__SECRET_KEY: "{{ vault_gitea.security_secret_key }}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  GITEA__openid__ENABLE_OPENID_SIGNUP: "true"
 | 
				
			||||||
 | 
					  GITEA__openid__ENABLE_OPENID_SIGNIN: "false"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  GITEA__service__ALLOW_ONLY_EXTERNAL_REGISTRATION: "true"
 | 
				
			||||||
 | 
					  GITEA__service__ENABLE_BASIC_AUTHENTICATION: "false"
 | 
				
			||||||
 | 
					  GITEA__service__NO_REPLY_ADDRESS: "discard.msrg.cc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  GITEA__webhook__DELIVER_TIMEOUT: "60"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  GITEA__mailer__ENABLED: "true"
 | 
				
			||||||
 | 
					  GITEA__mailer__PROTOCOL: "smtp+starttls"
 | 
				
			||||||
 | 
					  GITEA__mailer__SMTP_ADDR: "mail.serguzim.me"
 | 
				
			||||||
 | 
					  GITEA__mailer__SMTP_PORT: "587"
 | 
				
			||||||
 | 
					  GITEA__mailer__FROM: "Gitea <git@serguzim.me>"
 | 
				
			||||||
 | 
					  GITEA__mailer__USER: "git@serguzim.me"
 | 
				
			||||||
 | 
					  GITEA__mailer__PASSWD: "{{ vault_gitea.mailer_passwd }}"
 | 
				
			||||||
 | 
					  GITEA__mailer__SEND_AS_PLAIN_TEXT: "true"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  GITEA__picture__DISABLE_GRAVATAR: "true"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  GITEA__oauth2__JWT_SECRET: "{{ vault_gitea. oauth2_jwt_secret}}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  GITEA__metrics__ENABLED: "true"
 | 
				
			||||||
 | 
					  GITEA__metrics__TOKEN: "{{ vault_gitea.metrics_token }}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  GITEA__storage__STORAGE_TYPE: "minio"
 | 
				
			||||||
 | 
					  GITEA__storage__MINIO_ENDPOINT: "s3.serguzim.me"
 | 
				
			||||||
 | 
					  GITEA__storage__MINIO_ACCESS_KEY_ID: "{{ vault_gitea.minio.access_key_id }}"
 | 
				
			||||||
 | 
					  GITEA__storage__MINIO_SECRET_ACCESS_KEY: "{{ vault_gitea.minio.secret_access_key }}"
 | 
				
			||||||
 | 
					  GITEA__storage__MINIO_BUCKET: "git"
 | 
				
			||||||
 | 
					  GITEA__storage__MINIO_LOCATION: "de-contabo-1"
 | 
				
			||||||
 | 
					  GITEA__storage__MINIO_USE_SSL: "true"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  GITEA__OTHER__SHOW_FOOTER_BRANDING: "true"
 | 
				
			||||||
 | 
					  GITEA__OTHER__SHOW_FOOTER_TEMPLATE_LOAD_TIME: "false"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					compose:
 | 
				
			||||||
 | 
					  watchtower: true
 | 
				
			||||||
 | 
					  image: gitea/gitea:1.19
 | 
				
			||||||
 | 
					  env: true
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    services:
 | 
				
			||||||
 | 
					      app:
 | 
				
			||||||
 | 
					        volumes:
 | 
				
			||||||
 | 
					          - data:/data
 | 
				
			||||||
 | 
					          - /etc/timezone:/etc/timezone:ro
 | 
				
			||||||
 | 
					          - /etc/localtime:/etc/localtime:ro
 | 
				
			||||||
 | 
					        ports:
 | 
				
			||||||
 | 
					          - "{{ svc.ssh_port }}:{{ svc.ssh_port }}"
 | 
				
			||||||
 | 
					          - "{{ svc.ssh_port_alt }}:{{ svc.ssh_port }}"
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      data:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
- name: Deploy umami
 | 
					- name: Deploy {{ svc.name }}
 | 
				
			||||||
  tags:
 | 
					  tags:
 | 
				
			||||||
    - analytics
 | 
					 | 
				
			||||||
    - umami
 | 
					    - umami
 | 
				
			||||||
 | 
					    - analytics
 | 
				
			||||||
  block:
 | 
					  block:
 | 
				
			||||||
    - import_tasks: deploy-common-service.yml
 | 
					    - import_tasks: deploy-common-service.yml
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
{{ svc.domain }} {
 | 
					{{ svc.domain }} {
 | 
				
			||||||
	import default
 | 
						import default
 | 
				
			||||||
 | 
						{{ svc.caddy_extra | default('') | indent(width='\t') }}
 | 
				
			||||||
	reverse_proxy {{ svc.name }}:{{ svc.port }}
 | 
						reverse_proxy {{ svc.name }}:{{ svc.port }}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,10 +0,0 @@
 | 
				
			||||||
---
 | 
					 | 
				
			||||||
- name: Test
 | 
					 | 
				
			||||||
  hosts: all
 | 
					 | 
				
			||||||
  tasks:
 | 
					 | 
				
			||||||
    #- name: Include acme-dns role vars
 | 
					 | 
				
			||||||
    #  ansible.builtin.include_vars:
 | 
					 | 
				
			||||||
    #    dir: roles/acme-dns/vars
 | 
					 | 
				
			||||||
    - name: Debug all variables
 | 
					 | 
				
			||||||
      ansible.builtin.debug:
 | 
					 | 
				
			||||||
        var: hostvars[inventory_hostname]
 | 
					 | 
				
			||||||
							
								
								
									
										63
									
								
								gitea/.env
									
										
									
									
									
								
							
							
						
						
									
										63
									
								
								gitea/.env
									
										
									
									
									
								
							| 
						 | 
					@ -1,63 +0,0 @@
 | 
				
			||||||
GITEA__database__DB_TYPE="postgres"
 | 
					 | 
				
			||||||
GITEA__database__HOST="db.serguzim.me:5432"
 | 
					 | 
				
			||||||
GITEA__database__NAME="gitea"
 | 
					 | 
				
			||||||
GITEA__database__USER="gitea"
 | 
					 | 
				
			||||||
GITEA__database__PASSWD=""
 | 
					 | 
				
			||||||
GITEA__database__SSL_MODE="verify-full"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GITEA__repository__ENABLE_PUSH_CREATE_USER="true"
 | 
					 | 
				
			||||||
GITEA__repository__ENABLE_PUSH_CREATE_ORG="true"
 | 
					 | 
				
			||||||
GITEA__repository__DEFAULT_BRANCH="main"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GITEA__cors__ENABLED="true"
 | 
					 | 
				
			||||||
GITEA__cors__SCHEME="https"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GITEA__ui__DEFAULT_THEME="arc-green"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GITEA__server__DOMAIN="git.serguzim.me"
 | 
					 | 
				
			||||||
GITEA__server__SSH_DOMAIN="git.serguzim.me"
 | 
					 | 
				
			||||||
GITEA__server__SSH_PORT="22"
 | 
					 | 
				
			||||||
GITEA__server__ROOT_URL="https://git.serguzim.me/"
 | 
					 | 
				
			||||||
GITEA__server__OFFLINE_MODE="true"
 | 
					 | 
				
			||||||
GITEA__server__LFS_JWT_SECRET=""
 | 
					 | 
				
			||||||
GITEA__server__LFS_START_SERVER="true"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GITEA__security__INSTALL_LOCK="true"
 | 
					 | 
				
			||||||
GITEA__security__INTERNAL_TOKEN=""
 | 
					 | 
				
			||||||
GITEA__security__SECRET_KEY=""
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GITEA__openid__ENABLE_OPENID_SIGNUP="true"
 | 
					 | 
				
			||||||
GITEA__openid__ENABLE_OPENID_SIGNIN="false"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GITEA__service__ALLOW_ONLY_EXTERNAL_REGISTRATION="true"
 | 
					 | 
				
			||||||
GITEA__service__ENABLE_BASIC_AUTHENTICATION="false"
 | 
					 | 
				
			||||||
GITEA__service__NO_REPLY_ADDRESS="discard.msrg.cc"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GITEA__webhook__DELIVER_TIMEOUT="60"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GITEA__mailer__ENABLED="true"
 | 
					 | 
				
			||||||
GITEA__mailer__PROTOCOL="smtp+starttls"
 | 
					 | 
				
			||||||
GITEA__mailer__SMTP_ADDR="mail.serguzim.me"
 | 
					 | 
				
			||||||
GITEA__mailer__SMTP_PORT="587"
 | 
					 | 
				
			||||||
GITEA__mailer__FROM="Gitea <git@serguzim.me>"
 | 
					 | 
				
			||||||
GITEA__mailer__USER="git@serguzim.me"
 | 
					 | 
				
			||||||
GITEA__mailer__PASSWD=""
 | 
					 | 
				
			||||||
GITEA__mailer__SEND_AS_PLAIN_TEXT="true"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GITEA__picture__DISABLE_GRAVATAR="true"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GITEA__oauth2__JWT_SECRET=""
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GITEA__metrics__ENABLED="true"
 | 
					 | 
				
			||||||
GITEA__metrics__TOKEN=""
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GITEA__storage__STORAGE_TYPE="minio"
 | 
					 | 
				
			||||||
GITEA__storage__MINIO_ENDPOINT="s3.serguzim.me"
 | 
					 | 
				
			||||||
GITEA__storage__MINIO_ACCESS_KEY_ID=""
 | 
					 | 
				
			||||||
GITEA__storage__MINIO_SECRET_ACCESS_KEY=""
 | 
					 | 
				
			||||||
GITEA__storage__MINIO_BUCKET="git"
 | 
					 | 
				
			||||||
GITEA__storage__MINIO_LOCATION="de-contabo-1"
 | 
					 | 
				
			||||||
GITEA__storage__MINIO_USE_SSL="true"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GITEA__OTHER__SHOW_FOOTER_BRANDING="true"
 | 
					 | 
				
			||||||
GITEA__OTHER__SHOW_FOOTER_TEMPLATE_LOAD_TIME="false"
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,30 +0,0 @@
 | 
				
			||||||
version: "3"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
services:
 | 
					 | 
				
			||||||
  server:
 | 
					 | 
				
			||||||
    image: gitea/gitea:1.19
 | 
					 | 
				
			||||||
    container_name: gitea
 | 
					 | 
				
			||||||
    labels:
 | 
					 | 
				
			||||||
      com.centurylinklabs.watchtower.enable: true
 | 
					 | 
				
			||||||
    env_file:
 | 
					 | 
				
			||||||
    - .env
 | 
					 | 
				
			||||||
    - .secret.env
 | 
					 | 
				
			||||||
    restart: always
 | 
					 | 
				
			||||||
    volumes:
 | 
					 | 
				
			||||||
      - data:/data
 | 
					 | 
				
			||||||
      - /etc/timezone:/etc/timezone:ro
 | 
					 | 
				
			||||||
      - /etc/localtime:/etc/localtime:ro
 | 
					 | 
				
			||||||
    ports:
 | 
					 | 
				
			||||||
      - "3022:22"
 | 
					 | 
				
			||||||
      - "22:22"
 | 
					 | 
				
			||||||
    networks:
 | 
					 | 
				
			||||||
      apps:
 | 
					 | 
				
			||||||
        aliases:
 | 
					 | 
				
			||||||
          - gitea
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
volumes:
 | 
					 | 
				
			||||||
  data:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
networks:
 | 
					 | 
				
			||||||
  apps:
 | 
					 | 
				
			||||||
    external: true
 | 
					 | 
				
			||||||
		Reference in a new issue