# Setting up a Gitea code hosting platform Gitea is a self-hosted Git-based Code Hosting Platform and a nice alternative to Github and other proprietary services. You can use this Ansible Playbook to host your own Code Hosting Platform under your own control. This setup offers: * Gitea * PostgreSQL backend * Nginx reverse proxy * Fail2Ban Gitea protection * HTTPS by Let's Encrypt ## Prerequisites * A Debian or Ubuntu machine. * A publicly available FQDN: ``` git.example.org. 300 IN A 1.2.3.4 ``` ## Deploy gitea Clone the repository: ``` $ git clone https://git.theo-andreou.org/Personal/ansible-deploy-gitea.git $ cd ansible-deploy-gitea ``` Prepare a *vars/all.yml* file (you can use *vars/all.yml.example* as reference): ``` # vars/all.yml gitea_fqdn: git.example.org gitea_db: giteadb gitea_db_user: giteadbuser gitea_version: 1.4.2 ``` Adjusts the host(s) in *deploy_gitea.yml* and run the Playbook: ``` $ ansible-playbook deploy_gitea.yml ``` When done rush to https://git.example.org. First one to create an account gets to be an admin! References ---------- * https://docs.gitea.io/en-us/install-from-binary/ * https://docs.gitea.io/en-us/linux-service/ * https://dl.gitea.io/gitea/1.4.2/ * https://docs.gitea.io/en-us/fail2ban-setup/ * https://docs.ansible.com/ansible/latest/modules/postgresql_db_module.html * https://docs.ansible.com/ansible/latest/modules/postgresql_user_module.html