GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Gitea Self-hosted Git Service pomocí Dockeru na Ubuntu 18.04

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?

  1. Nainstalujte Docker-CE
  2. Nainstalujte Docker Compose
  3. Nasaďte Gitea jako kontejner pomocí Dockeru
  4. Gitea Post-Installation
  5. Vytvořte první úložiště
  6. 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.


Ubuntu
  1. Jak nainstalovat Docker na Ubuntu 18.04

  2. Jak nainstalovat Git na Ubuntu 18.04 / 20.04

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

  1. Jak nainstalovat Kubernetes na Ubuntu 18.04

  2. Jak nainstalovat Docker Compose na Ubuntu 18.04

  3. Jak nainstalovat Rancher na Ubuntu

  1. Jak nainstalovat Docker Compose na Ubuntu 20.04

  2. Jak nainstalovat Docker na Ubuntu 22.04

  3. Jak nainstalovat Gitea na Ubuntu 20.04