Add gitea

This commit is contained in:
phire 2021-07-01 20:44:22 +02:00
parent b52ddb17e8
commit db9d2b5a8a
5 changed files with 130 additions and 0 deletions

98
gitea.html Normal file
View File

@ -0,0 +1,98 @@
<!DOCTYPE html>
<html lang=en>
<head>
<title>Setting up Gitea &ndash; LandChad.net</title>
<meta charset="utf-8"/>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel='stylesheet' type='text/css' href='style.css'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel='alternate' type='application/rss+xml' title='Land Chad RSS' href='/rss.xml'>
</head>
<body>
<header><h1>Setting up Gitea</h1></header>
<nav></nav>
<main>
<img class=titleimg src="pix/gitea.svg">
<p>Gitea allows you to self-host your git repositories similar to <a href="git.html">bare repositories</a>, but comes with additional features that you might know from GitHub, such as issues, pull requests or multiple users. Its advantage over GitLab &ndash; another Free Software GitHub clone &ndash; is that it is much more lightweight and easier to setup.</p>
<p>Head over to <a href="https://gitea.com">gitea.com</a> to see what it looks like in practice.</p>
<h2>Installing Gitea</h2>
<p>First install a few dependencies:</p>
<pre><code>apt install curl sqlite3</code></pre>
<p>Unfortunately, Gitea itself is not in the official Debian repos, so we will add a third-party repository for it.</p>
<p>Add the repo's gpg key to apt's trusted keys:</p>
<pre><code>curl -sL -o /etc/apt/trusted.gpg.d/morph027-gitea.asc https://packaging.gitlab.io/gitea/gpg.key</code></pre>
<p>Then add the actual repository to apt:</p>
<pre><code>echo "deb [arch=amd64] https://packaging.gitlab.io/gitea gitea main" > /etc/apt/sources.list.d/morph027-gitea.list</code></pre>
<p>Now we can install Gitea:<p>
<pre><code>apt update
apt install gitea</code></pre>
<p>Since apt automatically enables and starts the Gitea service, it should already be running on port <code>3000</code> on your server!</p>
<h2>Setting up a Nginx reverse proxy</h2>
<p>You should know how to generate SSL certificates and use Nginx by now. Add this to your Nginx config to proxy requests made to your git subdomain to Gitea running on port 3000:</p>
<pre><code>
server {
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/ssl/nginx/<strong>git.landchad.net</strong>.crt;
ssl_certificate_key /etc/ssl/nginx/<strong>git.landchad.net</strong>.key;
server_name <strong>git.landchad.net</strong>;
location / {
proxy_pass http://localhost:3000/; # The / is important!
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
</pre></code>
<p>And reload Nginx:</p>
<pre><code>systemctl reload nginx</code></pre>
<h2>Setting up Gitea</h2>
<p>If everything worked fine you should now see a setup screen like this when you go to your configured domain in the browser. The options should be pretty self-explanatory, it is only important to select SQLite3 and to replace the base url and SSH server domain with your own. Here's an example:</p>
<a href=pix/gitea-setup.png><img src=pix/gitea-setup.png></a>
<p>Note: These settings can be changed in a configuration file later so don't worry about making wrong decisions right now.</p>
<p>After clicking the install button you should now be able to log into your Gitea instance with the account you just created! Explore the settings for more things to do, such as setting up your SSH keys.</p>
<h2>A few extras</h2>
<h3>Automatically create a new repo on push</h3>
<p>This is an incredicly useful feature for me. Open up <code>/etc/gitea/app.ini</code> and add <code>DEFAULT_PUSH_CREATE_PRIVATE = true</code> to the <code>repository</code> section like so:</p>
<img src=pix/gitea-push-create.png>
<br>
<p>If you now add a remote to a repository like this</p>
<pre><code>git remote add origin 'ssh://gitea@git.landchad.net/chad/coolproject.git'</code></pre>
<p>and push, Gitea will automatically create a private <code>coolproject</code> repository in your account!</p>
<h3>Change tab-width</h3>
<p>By default Gitea displays tabs 8 spaces wide, however I prefer 4 spaces. We can change this!</p>
<pre><code>mkdir -p /var/lib/gitea/custom/templates/custom/</code></pre>
<p>And write this into <code>/var/lib/gitea/custom/templates/custom/header.tmpl</code>:</p>
<pre><code>&ltstyle&gt
.tab-size-8 {
tab-size: 4 !important;
-moz-tab-size: 4 !important;
}
&lt/style&gt</code></pre>
<h2>Contribution</h2>
<ul>
<li><a href="https://phire.cc">phire</a></li>
</ul>
</main>
<footer><a href="https://landchad.net">LandChad.net</a></br>Because Everyone should be an Internet LandChad.</br><li><a href="index.html"><img src="pix/chad.gif" alt="chad"></a></li><li><a href="rss.xml"><img src="pix/rss.svg" alt="RSS"></a></li><li><a href="pix/btc.png"><img src="pix/btc.svg" alt="BTC"></a></li><li><a href="pix/xmr.png"><img src="pix/xmr.svg" alt="XMR"></a></li><li><a href="https://github.com/lukesmithxyz/landchad"><img src="pix/git.svg" alt="Github"></a></footer>
</body>
</html>

View File

@ -59,6 +59,7 @@
<ul class=ll>
<li><a href="git.html">Host your own <img src="pix/git.svg"><code>git</code> repositories</a></li>
<li><a href="nextcloud.html">Setting up a <img src="pix/nextcloud.svg">Nextcloud Instance (file hosting and more)</a></li>
<li><a href="gitea.html">Setting up <img src="pix/gitea.svg">Gitea</a></li>
</ul>
<h3 id=crypto>Accepting Cryptocurrency Tips</h3>

BIN
pix/gitea-push-create.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

BIN
pix/gitea-setup.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

31
pix/gitea.svg Normal file
View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="main_outline" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
y="0px" viewBox="0 0 640 640" style="enable-background:new 0 0 640 640;" xml:space="preserve">
<g>
<path id="teabag" style="fill:#FFFFFF" d="M395.9,484.2l-126.9-61c-12.5-6-17.9-21.2-11.8-33.8l61-126.9c6-12.5,21.2-17.9,33.8-11.8
c17.2,8.3,27.1,13,27.1,13l-0.1-109.2l16.7-0.1l0.1,117.1c0,0,57.4,24.2,83.1,40.1c3.7,2.3,10.2,6.8,12.9,14.4
c2.1,6.1,2,13.1-1,19.3l-61,126.9C423.6,484.9,408.4,490.3,395.9,484.2z"/>
<g>
<g>
<path style="fill:#609926" d="M622.7,149.8c-4.1-4.1-9.6-4-9.6-4s-117.2,6.6-177.9,8c-13.3,0.3-26.5,0.6-39.6,0.7c0,39.1,0,78.2,0,117.2
c-5.5-2.6-11.1-5.3-16.6-7.9c0-36.4-0.1-109.2-0.1-109.2c-29,0.4-89.2-2.2-89.2-2.2s-141.4-7.1-156.8-8.5
c-9.8-0.6-22.5-2.1-39,1.5c-8.7,1.8-33.5,7.4-53.8,26.9C-4.9,212.4,6.6,276.2,8,285.8c1.7,11.7,6.9,44.2,31.7,72.5
c45.8,56.1,144.4,54.8,144.4,54.8s12.1,28.9,30.6,55.5c25,33.1,50.7,58.9,75.7,62c63,0,188.9-0.1,188.9-0.1s12,0.1,28.3-10.3
c14-8.5,26.5-23.4,26.5-23.4s12.9-13.8,30.9-45.3c5.5-9.7,10.1-19.1,14.1-28c0,0,55.2-117.1,55.2-231.1
C633.2,157.9,624.7,151.8,622.7,149.8z M125.6,353.9c-25.9-8.5-36.9-18.7-36.9-18.7S69.6,321.8,60,295.4
c-16.5-44.2-1.4-71.2-1.4-71.2s8.4-22.5,38.5-30c13.8-3.7,31-3.1,31-3.1s7.1,59.4,15.7,94.2c7.2,29.2,24.8,77.7,24.8,77.7
S142.5,359.9,125.6,353.9z M425.9,461.5c0,0-6.1,14.5-19.6,15.4c-5.8,0.4-10.3-1.2-10.3-1.2s-0.3-0.1-5.3-2.1l-112.9-55
c0,0-10.9-5.7-12.8-15.6c-2.2-8.1,2.7-18.1,2.7-18.1L322,273c0,0,4.8-9.7,12.2-13c0.6-0.3,2.3-1,4.5-1.5c8.1-2.1,18,2.8,18,2.8
l110.7,53.7c0,0,12.6,5.7,15.3,16.2c1.9,7.4-0.5,14-1.8,17.2C474.6,363.8,425.9,461.5,425.9,461.5z"/>
<path style="fill:#609926" d="M326.8,380.1c-8.2,0.1-15.4,5.8-17.3,13.8c-1.9,8,2,16.3,9.1,20c7.7,4,17.5,1.8,22.7-5.4
c5.1-7.1,4.3-16.9-1.8-23.1l24-49.1c1.5,0.1,3.7,0.2,6.2-0.5c4.1-0.9,7.1-3.6,7.1-3.6c4.2,1.8,8.6,3.8,13.2,6.1
c4.8,2.4,9.3,4.9,13.4,7.3c0.9,0.5,1.8,1.1,2.8,1.9c1.6,1.3,3.4,3.1,4.7,5.5c1.9,5.5-1.9,14.9-1.9,14.9
c-2.3,7.6-18.4,40.6-18.4,40.6c-8.1-0.2-15.3,5-17.7,12.5c-2.6,8.1,1.1,17.3,8.9,21.3c7.8,4,17.4,1.7,22.5-5.3
c5-6.8,4.6-16.3-1.1-22.6c1.9-3.7,3.7-7.4,5.6-11.3c5-10.4,13.5-30.4,13.5-30.4c0.9-1.7,5.7-10.3,2.7-21.3
c-2.5-11.4-12.6-16.7-12.6-16.7c-12.2-7.9-29.2-15.2-29.2-15.2s0-4.1-1.1-7.1c-1.1-3.1-2.8-5.1-3.9-6.3c4.7-9.7,9.4-19.3,14.1-29
c-4.1-2-8.1-4-12.2-6.1c-4.8,9.8-9.7,19.7-14.5,29.5c-6.7-0.1-12.9,3.5-16.1,9.4c-3.4,6.3-2.7,14.1,1.9,19.8
C343.2,346.5,335,363.3,326.8,380.1z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB