From 36d886e5a9d2cec9a72bef5d20fbc8fd2dfc7c39 Mon Sep 17 00:00:00 2001 From: cinnaboot Date: Sun, 5 Dec 2021 16:55:08 -0500 Subject: [PATCH] add gitea role --- all.yml | 4 ++ roles/baikal/tasks/main.yml | 4 ++ roles/gitea/README | 5 ++ roles/gitea/tasks/main.yml | 32 ++++++++++ roles/gitea/templates/nginx.conf.j2 | 93 +++++++++++++++++++++++++++++ roles/haproxy/tasks/main.yml | 7 +++ 6 files changed, 145 insertions(+) create mode 100644 roles/gitea/README create mode 100644 roles/gitea/tasks/main.yml create mode 100644 roles/gitea/templates/nginx.conf.j2 diff --git a/all.yml b/all.yml index 0ba329d..6130866 100644 --- a/all.yml +++ b/all.yml @@ -29,3 +29,7 @@ tags: containers, gitweb roles: [gitweb] +- hosts: gitea + tags: containers, gitea + roles: [gitea] + diff --git a/roles/baikal/tasks/main.yml b/roles/baikal/tasks/main.yml index e69de29..0c94222 100644 --- a/roles/baikal/tasks/main.yml +++ b/roles/baikal/tasks/main.yml @@ -0,0 +1,4 @@ +--- +- name: main baikal block + block: + - name: diff --git a/roles/gitea/README b/roles/gitea/README new file mode 100644 index 0000000..c58d143 --- /dev/null +++ b/roles/gitea/README @@ -0,0 +1,5 @@ +ansible role for gitea setup: https://docs.gitea.io + +nginx frontend as reverse proxy +git-lfs support + diff --git a/roles/gitea/tasks/main.yml b/roles/gitea/tasks/main.yml new file mode 100644 index 0000000..e17ec0a --- /dev/null +++ b/roles/gitea/tasks/main.yml @@ -0,0 +1,32 @@ +--- +- name: install packages + apk: + name: + - nginx + - gitea + state: installed + +- vars: + block: + - template: + src: templates/nginx.conf.j2 + dest: /etc/nginx/nginx.conf + + - name: add ROOT_URL to gitea config + lineinfile: + path: /etc/gitea/app.ini + line: 'ROOT_URL = /gitea/' + insertafter: '\[server\]' + + - name: start and enable nginx service + service: + name: nginx + state: restarted + enabled: yes + + - name: start and enable gitea service + service: + name: gitea + state: restarted + enabled: yes + diff --git a/roles/gitea/templates/nginx.conf.j2 b/roles/gitea/templates/nginx.conf.j2 new file mode 100644 index 0000000..6822c41 --- /dev/null +++ b/roles/gitea/templates/nginx.conf.j2 @@ -0,0 +1,93 @@ +# /etc/nginx/nginx.conf + +user nginx; + +# Set number of worker processes automatically based on number of CPU cores. +worker_processes auto; + +# Enables the use of JIT for regular expressions to speed-up their processing. +pcre_jit on; + +# Configures default error logger. +error_log /var/log/nginx/error.log warn; + +# Includes files with directives to load dynamic modules. +include /etc/nginx/modules/*.conf; + +# Uncomment to include files with config snippets into the root context. +# NOTE: This will be enabled by default in Alpine 3.15. +#include /etc/nginx/conf.d/*.conf; + +events { + # The maximum number of simultaneous connections that can be opened by + # a worker process. + worker_connections 1024; +} + +http { + # Includes mapping of file name extensions to MIME types of responses + # and defines the default type. + include /etc/nginx/mime.types; + default_type application/octet-stream; + + # Name servers used to resolve names of upstream servers into addresses. + # It's also needed when using tcpsocket and udpsocket in Lua modules. + #resolver 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001; + + # Don't tell nginx version to the clients. Default is 'on'. + server_tokens off; + + # Specifies the maximum accepted body size of a client request, as + # indicated by the request header Content-Length. If the stated content + # length is greater than this size, then the client receives the HTTP + # error code 413. Set to 0 to disable. Default is '1m'. + client_max_body_size 1m; + + # Sendfile copies data between one FD and other from within the kernel, + # which is more efficient than read() + write(). Default is off. + sendfile on; + + # Causes nginx to attempt to send its HTTP response head in one packet, + # instead of using partial frames. Default is 'off'. + tcp_nopush on; + + # Enable gzipping of responses. + #gzip on; + + # Set the Vary HTTP header as defined in the RFC 2616. Default is 'off'. + gzip_vary on; + + + # Helper variable for proxying websockets. + map $http_upgrade $connection_upgrade { + default upgrade; + '' close; + } + + + # Specifies the main log format. + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + # Sets the path, format, and configuration for a buffered log write. + access_log /var/log/nginx/access.log main; + + + # Includes virtual hosts configs. + #include /etc/nginx/http.d/*.conf; + + server { + listen 80; + listen [::]:80; + server_name gitea.lxd; + + access_log /var/log/nginx/gitea-access.log; + error_log /var/log/nginx/gitea-error.log; + + location / { proxy_pass http://127.0.0.1:3000; } + } +} + +# TIP: Uncomment if you use stream module. +#include /etc/nginx/stream.conf; diff --git a/roles/haproxy/tasks/main.yml b/roles/haproxy/tasks/main.yml index e69de29..32a58f1 100644 --- a/roles/haproxy/tasks/main.yml +++ b/roles/haproxy/tasks/main.yml @@ -0,0 +1,7 @@ +--- +- name: main haproxy block + vars: {} + block: + - debug: + var: groups['containers'] +