Added gitea install post
This commit is contained in:
parent
ed22aacca3
commit
7ab77e5b90
36
xavishobbies/content/web_development/gitea_install.md
Normal file
36
xavishobbies/content/web_development/gitea_install.md
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
---
|
||||||
|
title: "Gitea_Install"
|
||||||
|
date: 2023-02-23T22:32:14-08:00
|
||||||
|
description: Web Development - Git Server
|
||||||
|
categories: ["Top_of_the_Stack"]
|
||||||
|
tags: ["web development", "git server"]
|
||||||
|
---
|
||||||
|
|
||||||
|
If you haven't heard of [Git](https://git-scm.com/) it's a pretty **[at this point]** universal versioning control system **[basically it makes sure it keeps backups of everything when you accidentally break everything and want to reset it]**. The short version of it is that you can use *git* locally, but a more common method is to push the *repository* **[fancy way to say folder]** to a remote server. Then, you can work on multiple systems **[or save yourself when you accidentally delete the local copy]** by using the remote server as a place to *push* and *pull* changes.
|
||||||
|
|
||||||
|
The most common website **[at least I think it is]** to host *repositories* is [Github.](https://github.com/) *Github* is a great service that is probably a perfect solution for most people. But we aren't most people. Aside from the benefit of learning a system like git from a server-side perspective, hosting our own instance allows for complete control of content, look, visibility of repos, and... well everything.
|
||||||
|
|
||||||
|
It's actually fairly simple to set up a [git server](https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server) if you aren't looking for a fancy *GUI* and are willing to work from the *terminal*. I have no fear of the terminal but I do think it would be easier to share my code with others by having a frontend that is easy to browse through. However, my frontend development skills need a bit of work **[maybe you can tell from this website]**. Luckily, there is a pretty OOTB **[Out of the box]** solution with [Gitea](https://gitea.io/en-us/).
|
||||||
|
|
||||||
|
*Gitea* is pretty simple to install, although it looks like it isn't in the *Debian* repos so some extra steps had to be taken. The Gitea gitlab has some good [documentation](https://gitlab.com/packaging/gitea) on getting it going. Run **[if you are also using a debian system as your server]** these commands to get Gitea running locally on your server.
|
||||||
|
|
||||||
|
``` code_block
|
||||||
|
sudo curl -sL -o /etc/apt/trusted.gpg.d/morph027-gitea.asc https://packaging.gitlab.io/gitea/gpg.key`
|
||||||
|
|
||||||
|
echo "deb https://packaging.gitlab.io/gitea gitea main" | sudo tee /etc/apt/sources.list.d/morph027-gitea.list`
|
||||||
|
|
||||||
|
sudo apt-get update && sudo apt-get install gitea morph027-keyring`
|
||||||
|
|
||||||
|
systemctl enable --now gitea
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
You can check that its working by going to [http://localhost:3000.](http://localhost:3000) And that's pretty much it **[hey! that was easy]** to get it running locally **[we aren't done. liar.]**. Now we have to mess with our nginx server to set up a [reverse proxy](https://www.hostinger.com/tutorials/how-to-set-up-nginx-reverse-proxy/) **[that sounds complicated]**. Luckily that's also not to bad to do **[oh]**. All that needs to be done is to add a couple lines to the nginx.conf of your website. In my case I would like my *Gitea* instance to be hosted at [https://xavishobbies.org/git/.](https://xavishobbies.org/git/) So I would add a new location at */git/* and define `proxy pass` to where *Gitea* is hosted locally. The enitre change would look somthing like this.
|
||||||
|
|
||||||
|
```C
|
||||||
|
location /git/ {
|
||||||
|
proxy_pass http://localhost:3000/;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Then restart the nginx server and you should be able to reach *Gitea* and get started hosting your own *repositories*. Poke around my [instance.](https://xavishobbies.org/git) I changed my css to match the theme of this website a bit more but all the other options are pretty much left at default.
|
Loading…
Reference in New Issue
Block a user