Gitea je fork služby Gogs, snadno použitelná služba Git s vlastním hostitelem. Je to podobné jako GitHub, Bitbucket a Gitlab. Gitea je lehké řešení pro hostování kódu napsané v Go, může běžet s minimálními hardwarovými požadavky. Jedná se o multiplatformní aplikaci, lze ji spustit kdekoli Go lze zkompilovat, jako je Windows, Linux, MacOS, ARM atd.
V tomto tutoriálu vám krok za krokem ukážu, jak nainstalovat a nakonfigurovat odlehčenou službu Git pomocí Gitea. Server Gitea nasadíme pomocí Dockeru a budeme používat databázi PostgreSQL a Traefik Reverse proxy. V této příručce budeme používat nejnovější server Ubuntu 18.04.
Předpoklady
- Ubuntu 18.04
- Oprávnění uživatele root
Co uděláme?
- Nainstalujte Docker-CE
- Nainstalujte Docker Compose
- Nasaďte Gitea jako kontejner pomocí Dockeru
- Gitea Post-Installation
- Vytvořte první úložiště
- Testování prvního závazku
Krok 1 – Instalace Docker-CE
Prvním krokem, který pro tuto příručku uděláme, je instalace komunitního vydání Docker na server Ubuntu 18.04. Balíček Docker CE nainstalujeme z oficiálního úložiště Docker.
Přidejte úložiště Docker a Docker spuštěním příkazů níže.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Příkaz 'add-apt-repository' automaticky aktualizuje úložiště.
Nyní nainstalujte balíček Docker CE.
sudo apt policy docker-ce
sudo apt install docker-ce=18.06.1~ce~3-0~ubuntu
Po dokončení instalace spusťte službu docker a povolte její spuštění při každém spuštění systému.
sudo systemctl start docker
sudo systemctl enable docker
Docker CE je spuštěn a běží na serveru Ubuntu 18.04. Ověřte instalaci kontrolou verze dockeru.
docker version
nebo spusťte docker 'hello-world'.
docker run hello-world
Krok 2 – Instalace Docker Compose
Docker-Compose je nástroj příkazového řádku pro definování a správu vícekontejnerových dockerových aplikací. Umožňuje vám vytvořit kontejner jako službu, která je skvělá pro vaše vývojové, testovací a pracovní prostředí.
Nainstalujte Docker Compose stažením binárního souboru a vytvořte z něj spustitelný soubor.
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Nyní zkontrolujte příkaz docker-compose.
docker-compose version
Docker Compose je nyní nainstalován.
Krok 3 – Nasazení Gitea jako dokovacího kontejneru
V tomto kroku vytvoříme nový skript docker-compose, který obsahuje konfiguraci všech služeb včetně databáze PostgreSQL a reverzní proxy Traefik. Nastavíme všechny soubory nasazení v adresáři s názvem 'deployment'.
Vytvořit vlastní síť dockerů
Před vytvořením konfigurace nasazení vytvořte novou vlastní síť mostu. Bude použit pro externí službu traefik reverzní proxy.
Zkontrolujte seznam dokovací sítě.
docker network ls
Nyní vytvořte novou vlastní přemosťovací síť s názvem 'hakasenet'.
docker network create hakasenet
Zkontrolujte to znovu.
docker network ls
Nyní získáte síť 'hakasenet' na seznamu.
Nastavení adresáře a souborů nasazení
Vytvořte nový adresář s názvem 'deployment' a v něm skript 'docker-compose.yml'.
mkdir deployment; cd deployment
touch docker-compose.yml
Nyní vytvořte nový objem dat v adresáři 'gitea' a 'postgres'.
mkdir -p gitea/ postgres/
Vytvořte nový soubor 'acme.json' a změňte oprávnění souboru. bude použit k ukládání dat Letsencrypt.
touch acme.json
chmod 600 acme.json
Nyní vytvořte globální konfigurační soubor traefik 'traefik.toml'.
touch traefik.toml
A níže jsou soubory a adresáře, které máme pro instalaci Gitea pomocí Dockeru.
tree
Nastavení služby PostgreSQL
Databázová služba PostgreSQL je první službou, kterou chceme konfigurovat. Databázová služba poběží pouze v interní síti dockeru.
A budeme používat obraz Postgres 9.6, jako název databáze, uživatele a heslo použijeme 'gitea' a nastavíme objem dat postgres.
Upravte soubor 'docker-compose.yml' pomocí vim.
vim docker-compose.yml
Vložte konfigurace níže.
version: "3" networks: hakasenet: external: true internal: external: false services: db: image: postgres:9.6 restart: always environment: - POSTGRES_USER=gitea - POSTGRES_PASSWORD=gitea - POSTGRES_DB=gitea labels: - "traefik.enable=false" networks: - internal volumes: - ./postgres:/var/lib/postgresql/data
Uložte a ukončete.
Nastavení Traefik Reverse Proxy
Nyní nakonfigurujeme reverzní proxy Traefik pro naši instalaci Gitea.
Služba traefik poběží pod výchozími porty HTTP a HTTPS, běží na vlastní přemosťovací síti s názvem 'hakasenet' a nakonfigurujeme ji tak, aby používala certifikáty Letsencrypt, které budou definovány v souboru 'traefik.toml'.
Upravte skript pro psaní.
vim docker-compose.yml
Vložte konfigurace do konfigurace služby db.
traefik: image: traefik:latest command: --docker ports: - 80:80 - 443:443 labels: - "traefik.enable=true" - "traefik.backend=dashboard" - "traefik.frontend.rule=Host:traefik.hakase-labs.io" - "traefik.port=8080" networks: - hakasenet volumes: - /var/run/docker.sock:/var/run/docker.sock - ./traefik.toml:/traefik.toml - ./acme.json:/acme.json container_name: traefik restart: always
Uložte a ukončete.
Nyní upravte konfigurační soubor 'traefik.toml'.
vim traefik.toml
A vložte následující konfiguraci.
#Traefik Global Configuration debug = false checkNewVersion = true logLevel = "ERROR" #Define the EntryPoint for HTTP and HTTPS defaultEntryPoints = ["https","http"] #Define the HTTP port 80 and #HTTPS port 443 EntryPoint #Enable automatically redirect HTTP to HTTPS [entryPoints] [entryPoints.http] address = ":80" [entryPoints.http.redirect] entryPoint = "https" [entryPoints.https] address = ":443" [entryPoints.https.tls] #Enable Traefik Dashboard on port 8080 #with basic authentication method #hakase and password [entryPoints.dash] address=":8080" [entryPoints.dash.auth] [entryPoints.dash.auth.basic] users = [ "hakase:$apr1$hEgpZUN2$OYG3KwpzI3T1FqIg9LIbi.", ] [api] entrypoint="dash" dashboard = true #Enable retry sending a request if the network error [retry] #Define Docker Backend Configuration [docker] endpoint = "unix:///var/run/docker.sock" domain = "hakase-labs.io" watch = true exposedbydefault = false #Letsencrypt Registration #Define the Letsencrypt ACME HTTP challenge [acme] email = "[email protected]" storage = "acme.json" entryPoint = "https" OnHostRule = true [acme.httpChallenge] entryPoint = "http"
Uložte a ukončete.
Poznámka:
- Změňte acme letsencrypt e-mail na svou platnou e-mailovou adresu.
Nastavení služby Gitea
Upravte konfigurační soubor 'docker-compose.yml'.
vim docker-compose.yml
Vložte konfiguraci služby gitea na konec řádku.
server: image: gitea/gitea:latest environment: - USER_UID=1000 - USER_GID=1000 restart: always networks: - internal volumes: - ./gitea:/data ports: - "3000" - "22" labels: - "traefik.enabled=true" - "traefik.backend=gitea" - "traefik.frontend.rule=Host:git.hakase-labs.io" - "traefik.docker.network=hakasenet" - "traefik.port=3000" networks: - internal - hakasenet depends_on: - db - traefik
Uložte a ukončete.
Služba Gitea bude běžet na TCP portu '3000', používat tyto dvě dockerové sítě 'interní' a 'hakasenet' a poběží pod traefik reverzním proxy na doméně 'git.hakase-labs.io'.
Docker sestaví konfiguraci pro nasazení Gitea byla dokončena.
Nasadit všechny služby
Nyní nasaďte zásobník pomocí příkazu 'docker-compose' níže.
docker-compose up -d
Příkaz stáhne všechny potřebné obrazy dockeru a spustí služby definované ve skriptu docker-compose.
A až bude hotovo, zkontrolujte dostupné služby na dockeru pomocí možnosti ps, jak je uvedeno níže.
docker-compose ps
Nyní získáte výsledek, jak je uvedeno níže.
Databáze PostgreSQL, Gitea a reverzní proxy kontejnery traefik jsou nyní v provozu. Databázová služba běží na výchozím portu '5432', server gitea běží na portu '3000' a traefik proxy běží na portech HTTP a HTTPS, které jsou přístupné z vnější sítě/internetu.
Pokud chcete zkontrolovat všechny protokoly z kontroly dockeru, spusťte níže uvedený příkaz.
docker-compose logs
Krok 4 – Gitea Post-Installation
Otevřete webový prohlížeč a zadejte adresu instalace Gitea. Můj je:
https://git.hakase-labs.io/
Nyní získáte výchozí stránku Gitea.
Přidejte instalační cestu k adrese URL.
https://git.hakase-labs.io/install
Nyní získáte instalační stránku Gitea.
Konfigurace databáze
Zadejte podrobnosti o databázi PostgreSQL a použijte 'db ' jako hostitel.
Obecná konfigurace Gitea
Změňte „Název webu“ svým vlastním názvem, „Doménu serveru SSH“ (bez https) a „Gitea Base URL“ pomocí adresy URL vašeho serveru Gitea.
Nastavení účtu správce
V nastavení správce zadejte uživatelské jméno, heslo a e-mailovou adresu správce.
Nyní klikněte na tlačítko 'Instalovat Gitea'.
A budete přesměrováni na výchozí uživatelský panel Gitea.
Krok 5 – Vytvoření prvního úložiště v Gitea
Na domovské stránce uživatele klikněte na '+' tlačítko.
Nyní zadejte podrobnosti o úložišti, které chcete vytvořit.
a klikněte na tlačítko 'Vytvořit úložiště'.
Úložiště bylo vytvořeno.
Krok 6 – Testování prvního závazku
Vraťte se do svého terminálového shellu a nastavte výchozího uživatele git a e-mail.
Níže spusťte příkazy git.
git config --global user.name "hakase"
git config --global user.email "[email protected]"
Nyní naklonujte úložiště.
git clone https://git.hakase-labs.io/hakase/myrepo.git
Přejděte do adresáře úložiště 'myyrepo' a upravte soubor README.md.
cd myrepo/
vim README.md
proveďte změny v souboru README, poté jej uložte a ukončete.
Nyní potvrďte úložiště.
git add .
git commit -m 'Edit the README.md file by hakase-labs'
A odeslat jej na server.
git push origin master
Zadejte své uživatelské jméno a heslo.
A výsledek by měl být následující.
Zkontrolujte stránku úložiště a ujistěte se, že jste získali změny, jak je uvedeno níže.
Instalace Gitea s Dockerem na Ubuntu 18.04 byla úspěšně dokončena.