GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Gitea pomocí Dockeru na Ubuntu 20.04

Gitea je bezplatný a open-source softwarový balíček pro vlastní hostování serveru Git. Nabízí také funkce pro spolupráci, jako je sledování chyb, wiki a kontrola kódu. Gitea je komunitou řízené a odlehčené kódové řešení napsané v Go.

Vývojáři musí při práci pravidelně slučovat své změny kódu do centrálního úložiště. Může se stát, že potřebujete mít pro svůj tým privátní centrální úložiště, které budete hostovat a spravovat sami. Pro tento účel můžete použít Gitea. Je to podobné jako GitHub, Bitbucket a tak dále.

V tomto tutoriálu se naučíme, jak instalovat Gitea pomocí dockeru na Ubuntu 20.04 .

Předpoklady

  • Uzel nainstalovaný s Ubuntu 20.04
  • Uživatel s oprávněním sudo

Krok 1:Nainstalujte Docker na Ubuntu

Gitea poskytuje nejnovější stabilní verzi svých obrazů Docker z centra Docker. Může být instalován ze zdrojového, binárního a také jako balíčku. Zde nasazujeme jako obrázek Docker.

Chcete-li nainstalovat docker, budete muset nainstalovat některé předpoklady:

$ sudo apt install apt-transport-https ca-certificates curl software-properties-common

Nyní přidejte klíč GP úložiště docker:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Nyní přidejte Docker do zdrojů APT. Automaticky aktualizuje mezipaměť.

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Nyní nainstalujte docker pomocí následujícího příkazu:

$ sudo apt install docker-ce

Přidejte uživatele do skupiny docker, aby mohl používat příkaz docker bez oprávnění sudo:

$ sudo usermod -aG docker username

Krok 2:Spusťte dokovací stanici Nginx

Chcete-li povolit HTTPS, můžete použít ukončovací proxy TLS, jako je Nginx, Apache2 nebo Caddy. V našem případě spustíme nezávislý kontejner jako náš reverzní proxy Nginx.

$ docker run -d --name nginx -p 80:80 -p 443:443 -v /etc/nginx/htpasswd:/etc/nginx/htpasswd -v /etc/nginx/vhost.d:/etc/nginx/vhost.d:ro -v /etc/nginx/certs:/etc/nginx/certs -v /var/run/docker.sock:/tmp/docker.sock:ro etopian/nginx-proxy

Pomůže nám to přesměrovat veškerý výchozí HTTP provoz na HTTPS, když integrujete své certifikáty. Měli byste si všimnout namapovaného svazku pro integraci vašich certifikátů, což je /etc/nginx/certs

Nyní otevřete port 80 a 443 na firewallu:

$ sudo ufw allow 80,443/tcp

Také se ujistěte, že jste před povolením UFW otevřeli ssh, pokud ještě ne

$ sudo ufw allow 'OpenSSH'

Nyní povolte UFW, pokud ještě ne

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Krok 3:Spusťte MySQL docker

Gitea potřebuje databázi k uložení svých dat. Gitea podporuje MySQL/MariaDB, PostgreSQL, SQLite a MSSQL. Zde spustíme kontejner MySQL, abychom uchovali všechna data.

$ docker run -d --name mysql-gitea -e MYSQL_ROOT_PASSWORD=o$su876HG@zvsRt3BT -v /opt/docker-volume/mysql-gitea:/var/lib/mysql mysql:5.7

Můžeme zkontrolovat, zda náš kontejner běží

$ docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED       STATUS          PORTS                                                                      NAMES
6d41fec8b0e4   mysql:5.7             "docker-entrypoint.s…"   2 hours ago   Up 2 hours      3306/tcp, 33060/tcp                                                        mysql-gitea
ec9d83a3944e   etopian/nginx-proxy   "forego start -r"        3 days ago    Up 24 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   nginx

Gitea ve výchozím nastavení naslouchá připojení na portu 3000 a reverzní proxy na portech HTTP a HTTPS. Pokud máte firewall, ujistěte se, že jsou porty otevřené pro přístup k webovému rozhraní Gitea.

Pojďme se podívat na některé detaily našeho kontejneru MySQL, jako je IP adresa, protože ji budeme potřebovat později

$ docker inspect mysql-gitea
[
    {
        "Id": "6d41fec8b0e4b6ca465444d5cfea11913decddfd7586f4796702463cf08897fe",
        "Created": "2021-10-21T23:48:20.709365573Z",
...
...
        "Networks": {
                        "bridge": {
                            "IPAMConfig": null,
                            "Links": null,
                            "Aliases": null,
                            "NetworkID": "3f0b32613606db9e0761af15b7fa5d7f7c3b86f4d3b4668d574c579b9468915f",
                            "EndpointID": "f029fc1797c70d090da19d30cb31ca34c1b6baf4537a807397e931f87262f867",
                            "Gateway": "172.17.0.1",
                            "IPAddress": "172.17.0.3",
                            "IPPrefixLen": 16,
                            "IPv6Gateway": "",
                            "GlobalIPv6Address": "",
                            "GlobalIPv6PrefixLen": 0,
                            "MacAddress": "02:42:ac:11:00:03",
                            "DriverOpts": null
                        }
...
...

Nyní se připojíme ke kontejneru MySQL

$ docker container exec -it mysql-gitea bash

Poté přejděte k příkazovému řádku MySQL

# mysql -u root -po$su876HG@zvsRt3BT

Nyní vytvořte databázi a uživatele pro Gitea

mysql> CREATE USER 'gitea-user'@'%' IDENTIFIED BY '34@zv$TKji@s097BB';
mysql> CREATE DATABASE giteadb;
mysql> GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea-user'@'%';
mysql> FLUSH PRIVILEGES;
mysql> exit;

Nyní opusťte také kontejner

# exit;

Krok 4:Nakonfigurujte certifikát SSL

Chcete-li přistupovat ke svému Gitea prostřednictvím zabezpečeného názvu domény, budete muset zkopírovat certifikát SSL do složky Nginx. Můžete použít bezplatný certifikát Let's Encrypt nebo certifikát od certifikační autority.

Zkopírujte certifikát

$ cp gitea.websitefortesting.com.crt /etc/nginx/certs/

Zkopírujte klíč

$ cp gitea.websitefortesting.com.key /etc/nginx/certs/

Krok 5:Spusťte Gitea docker

Abychom mohli spustit Gitea, musíme uvést některé informace o kontejneru MySQL, který byl spuštěn dříve, například:

  • Typ databáze, což je mysql
  • adresa ip kontejneru mysql
  • název databáze
  • uživatelské jméno databáze
  • heslo uživatele databáze
  • port používaný gitea
$ docker run -d --name gitea-selfhosted -v /opt/docker-volume/gitea-selfhosted:/data -p 3000:3000 -e VIRTUAL_HOST=gitea.websitefortesting.com -e VIRTUAL_PORT=3000 -e USER_UID=1001 -e USER_GID=1001 -e DB_TYPE=mysql -e DB_HOST=172.17.0.3:3306 -e DB_NAME=giteadb -e DB_USER=gitea-user -e DB_PASSWD=34@zv$TKji@s097BB gitea/gitea:1.8

Můžeme zkontrolovat, zda běží

$ docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS                                                                      NAMES
321b870a0735   gitea/gitea:1.8       "/usr/bin/entrypoint…"   11 seconds ago   Up 10 seconds   22/tcp, 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp                          gitea-selfhosted
6d41fec8b0e4   mysql:5.7             "docker-entrypoint.s…"   2 hours ago      Up 3 minutes    3306/tcp, 33060/tcp                                                        mysql-gitea
ec9d83a3944e   etopian/nginx-proxy   "forego start -r"        3 days ago       Up 29 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   nginx

Nyní můžete zkusit získat přístup k Gitea pomocí adresy URL https://giteadomain.com

Nyní přejděte na „přihlásit se“, abyste mohli pokračovat v procesu instalace. Některé informace, jako je název webu, si můžete přizpůsobit.

Nezapomeňte uvést název domény tam, kde je to nutné. Uveďte také informace o účtu správce

Po instalaci budete přihlášeni

Můžete vytvořit nové úložiště

Máte první úložiště

Závěr

Nyní znáte všechny kroky k instalaci Gitea pomocí Docker na Ubuntu 20.04 – vaše soukromé centrální úložiště pro váš kód. Budete jej moci spravovat podle svých potřeb.


Ubuntu
  1. Jak nainstalovat Docker na Ubuntu 16.04

  2. Jak nainstalovat Docker na Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  3. Jak nainstalovat Docker na Ubuntu 18.04?

  1. Jak nainstalovat Docker na Ubuntu 18.04

  2. Jak nainstalovat Kubernetes na Ubuntu 18.04

  3. Jak nainstalovat Docker Compose na Ubuntu 18.04

  1. Jak nainstalovat Rancher na Ubuntu

  2. Jak nainstalovat Docker Compose na Ubuntu 20.04

  3. Jak nainstalovat Docker na Ubuntu 22.04