57 lines
1.4 KiB
Markdown
57 lines
1.4 KiB
Markdown
# 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
|