Add Gitea role
This commit is contained in:
parent
0038a8b633
commit
31ea3c3e1f
6
roles/gitea/meta/main.yml
Normal file
6
roles/gitea/meta/main.yml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
allow_duplicates: no
|
||||||
|
dependencies:
|
||||||
|
- role: apache-php
|
||||||
|
- role: mysql
|
||||||
|
- role: redis
|
84
roles/gitea/tasks/main.yml
Normal file
84
roles/gitea/tasks/main.yml
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
#!/usr/bin/ansible-playbook
|
||||||
|
# vim:ft=ansible:
|
||||||
|
---
|
||||||
|
- name: Set up Gitea
|
||||||
|
block:
|
||||||
|
- name: Set up MySQL
|
||||||
|
block:
|
||||||
|
- name: Create DB
|
||||||
|
mysql_db:
|
||||||
|
name: gitea
|
||||||
|
login_user: root
|
||||||
|
login_password: "{{ mysql_root_password }}"
|
||||||
|
state: present
|
||||||
|
- name: Create user
|
||||||
|
mysql_user:
|
||||||
|
name: gitea
|
||||||
|
host: localhost
|
||||||
|
password: "{{ gitea_mysql_password }}"
|
||||||
|
priv: "gitea.*:ALL,GRANT"
|
||||||
|
login_user: root
|
||||||
|
login_password: "{{ mysql_root_password }}"
|
||||||
|
- name: Set up Apache
|
||||||
|
block:
|
||||||
|
- name: Template out vhost
|
||||||
|
template:
|
||||||
|
src: "apache2-vhost-ssl.conf"
|
||||||
|
dest: "/etc/apache2/sites-available/{{ gitea_url }}.conf"
|
||||||
|
- name: Enable site
|
||||||
|
command:
|
||||||
|
cmd: "a2ensite {{ gitea_url }}.conf"
|
||||||
|
creates: "/etc/apache2/sites-enabled/{{ gitea_url }}.conf"
|
||||||
|
notify: restart apache
|
||||||
|
- name: Generate certificate
|
||||||
|
include_role:
|
||||||
|
name: https
|
||||||
|
vars:
|
||||||
|
website_url: "{{ gitea_url }}"
|
||||||
|
- name: Install git
|
||||||
|
apt:
|
||||||
|
name: git
|
||||||
|
- name: Install Gitea
|
||||||
|
get_url:
|
||||||
|
url: "https://dl.gitea.io/gitea/1.11.4/gitea-1.11.4-linux-amd64"
|
||||||
|
dest: "/usr/local/bin/gitea"
|
||||||
|
mode: "0755"
|
||||||
|
- name: Create Gitea user
|
||||||
|
user:
|
||||||
|
name: git
|
||||||
|
password: "!"
|
||||||
|
home: "/home/git"
|
||||||
|
shell: "/usr/sbin/nologin"
|
||||||
|
- name: Create directory structure
|
||||||
|
file:
|
||||||
|
state: directory
|
||||||
|
recurse: yes
|
||||||
|
owner: git
|
||||||
|
group: git
|
||||||
|
mode: "0750"
|
||||||
|
path: "/var/lib/{{ item }}"
|
||||||
|
loop:
|
||||||
|
- "gitea"
|
||||||
|
- "gitea/custom"
|
||||||
|
- "gitea/data"
|
||||||
|
- "gitea/log"
|
||||||
|
- name: Create config directory
|
||||||
|
file:
|
||||||
|
state: directory
|
||||||
|
recurse: yes
|
||||||
|
mode: "0750"
|
||||||
|
owner: "root"
|
||||||
|
group: "git"
|
||||||
|
path: "/etc/gitea"
|
||||||
|
- name: Generate INTERNAL_TOKEN"
|
||||||
|
command: /usr/local/bin/gitea generate secret INTERNAL_TOKEN
|
||||||
|
register: gitea_internal_token
|
||||||
|
- name: Generate SECRET_KEY"
|
||||||
|
command: /usr/local/bin/gitea generate secret SECRET_KEY
|
||||||
|
register: gitea_secret_key
|
||||||
|
- name: Template out app.ini
|
||||||
|
template:
|
||||||
|
src: "app.ini"
|
||||||
|
dest: "/etc/gitea/app.ini"
|
||||||
|
mode: "0640"
|
||||||
|
become: yes
|
30
roles/gitea/templates/apache2-vhost-ssl.conf
Normal file
30
roles/gitea/templates/apache2-vhost-ssl.conf
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# Configuration for {{ gitea_url }}
|
||||||
|
# vim:ft=apache:
|
||||||
|
|
||||||
|
# Accept connections from non-SNI clients
|
||||||
|
SSLStrictSNIVHostCheck off
|
||||||
|
|
||||||
|
# Website configuration
|
||||||
|
<VirtualHost *:80>
|
||||||
|
ServerName {{ gitea_url }}
|
||||||
|
Redirect permanent / https://{{ gitea_url }}
|
||||||
|
</VirtualHost>
|
||||||
|
<VirtualHost *:443>
|
||||||
|
SSLEngine on
|
||||||
|
SSLCertificateFile /etc/pki/cert/crt/{{ gitea_url }}.crt
|
||||||
|
SSLCertificateKeyFile /etc/pki/cert/private/{{ gitea_url }}.key
|
||||||
|
SSLCertificateChainFile /etc/pki/cert/crt/{{ gitea_url }}-fullchain.crt
|
||||||
|
ServerName {{ gitea_url }}
|
||||||
|
DocumentRoot {{ gitea_webroot }}
|
||||||
|
<Directory "{{ gitea_webroot }}">
|
||||||
|
Require all granted
|
||||||
|
AllowOverride All
|
||||||
|
Options MultiViews FollowSymlinks
|
||||||
|
</Directory>
|
||||||
|
ProxyRequests off
|
||||||
|
ProxyPass / https://127.0.0.1:3000/ nocanon
|
||||||
|
ProxyPassReverse / https://127.0.0.1:3000/
|
||||||
|
|
||||||
|
RequestHeader set X_FORWARDED_PROTO 'https'
|
||||||
|
RequestHeader set X-Forwarded-Ssl on
|
||||||
|
</VirtualHost>
|
1015
roles/gitea/templates/app.ini
Normal file
1015
roles/gitea/templates/app.ini
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user