No description
defaults | ||
files | ||
handlers | ||
meta | ||
tasks | ||
templates | ||
tests | ||
vars | ||
.gitignore | ||
LICENSE | ||
README.adoc |
gitea - Git with a cup of tea ============================= ____ A painless self-hosted Git service. Gitea is a community managed lightweight code hosting solution written in Go. It is published under the MIT license. ____ It installs nginx, postgresql and gitea for you git-service. Requirements ------------ You need to have debian (or compatible, like ubuntu) or alpine already installed. * sshd It will install all dependencies on host-machine: * Postgresql * nginx * gitea - itself It expects for TLS a PKI in `/etc/nginx/tls/`, where you have to place `**hostname**.key`, `**hostname**.crt`. Role Variables -------------- gitea_version:: You need to define it, it cannot determine newest version, yet. gitea_download_uri:: The URI to the binary. You need to define it, it cannot determine newest version, yet. gitea_fqdn:: Full qualified domain name for the webserver. gitea_root_uri:: The Link to your gitea service. Default `https://{{gitea_fqdn}}/`. Example Playbook ---------------- This determines the newest version of gitea automatically. So it defines `gitea_version` and `gitea_download_uri` for you. It uses a host `local`, which you have to define in your inventory. Set `ansible_host=localhost` for this host. It uses this host for fetching needed informations once. ---- --- # vim: set expandtab tabstop=2 shiftwidth=2: - hosts: gitea remote_user: root become: false tasks: - delegate_to: local run_once: true remote_user: root become: false apt: name: - ruby-dev - make - gcc - delegate_to: local run_once: true remote_user: root become: false gem: user_install: false name: '{{item}}' with_items: - oga - httpclient - name: determine newest provided version delegate_to: local become: false run_once: true shell: | ruby -roga -rhttpclient <<EOF puts Oga.parse_html( HTTPClient.get_content( "https://dl.gitea.io/gitea/")). css( "tr.file a[href] .name"). map {|a| a.text.chomp.split ?. }. select {|v| v.grep( /\D/).empty? }. map {|v| v.map &:to_i }. max. join( ?.) EOF register: det_gitea_ver - set_fact: gitea_version: '{{gitea.version | default(det_gitea_ver.stdout)}}' - set_fact: gitea_download_uri: '{{gitea.uri | default("https://dl.gitea.io/gitea/"+gitea_version+"/gitea-"+gitea_version+"-linux-"+gitea_architectures_map[ansible_architecture])}}' - import_role: name: gitea ---- License ------- AGPLv3 Author Information ------------------ Denis Knauf - https://git.denkn.at/deac/ansible-role-gitea