50% sleva všechny plány, omezený čas. Od $2.48/mo
Gogs

Gogs

Gogs je bezbolestná služba Git s vlastním hostitelem. Lehčí než Gitea a GitLab, napsané v Go, běží pohodlně na 512 MB VPS nebo dokonce Raspberry Pi. Původní Git server založený na Go, předchůdce Gitea, je stále aktivně udržován pro uživatele, kteří preferují menší plochu.

Verze

0.14.2

Operační systém

Ubuntu Server 24.04 LTS

Min. BERAN

1 GB

Typy IP

IPV4, IPV6

Přístup

  • Otevři prohlížeč a přejdi na: https://<SERVER_IP>
  • Očekávej SSL varování v prohlížeči (self-signed certifikát)
  • Zaregistrujte si nový účet
  • První registrovaný účet se stává správcem

Zakázat samoregistraci (volitelné)

Ve výchozím nastavení je povolena samoregistrace uživatele.

1. Upravte konfigurační soubor: /etc/gogs/conf/app.ini

2. Pod [auth] sekce, změna: DISABLE_REGISTRATION = false to DISABLE_REGISTRATION = true

3. Restartujte Gogs:

systemctl restart gogs

Důležité soubory a adresáře

  • Instalační adresář: /opt/gogs
  • Konfigurační soubor: /etc/gogs/conf/app.ini
  • Údaje aplikace: /var/lib/gogs
  • Úložiště: /var/lib/gogs/repositories
  • protokoly: /var/log/gogs
  • Systemd servis: /etc/systemd/system/gogs.service
  • Nginx konfigurace: /etc/nginx/sites-available/gogs.conf
  • TLS certifikáty: /etc/nginx/ssl/

Použití Git

HTTPS (certifikát podepsaný sám sebou):

GIT_SSL_NO_VERIFY=true git clone https://<SERVER_IP>/<USERNAME>/<REPOSITORY>.git

SSH (vestavěný server):

git clone ssh://git@<SERVER_IP>:2222/<USERNAME>/<REPOSITORY>.git

Správa služeb

Gogs:

systemctl status gogs
systemctl restart gogs

Nginx:

systemctl status nginx
systemctl restart nginx

PostgreSQL:

systemctl status postgresql
systemctl restart postgresql

Poznámky

  • Hlavní konfigurační soubor je umístěn na /etc/gogs/conf/app.ini. Po úpravě konfiguračního souboru restartujte službu pomocí systemctl restart gogs.
  • Limit nahrávání Nginx je definován v /etc/nginx/sites-available/gogs.conf pomocí client_max_body_size. Zvyšte jej pro velká úložiště a restartujte Nginx.
  • U velkých nasazení můžete zrušit komentář LimitMEMLOCK=infinity a LimitNOFILE=65535 in /etc/systemd/system/gogs.service, pak běžte systemctl daemon-reload a restartujte Gogs.
  • Databázové přihlašovací údaje jsou definovány v /etc/gogs/conf/app.ini.
  • Pro produkční použití se doporučuje nahradit certifikát s vlastním podpisem platným certifikátem Let’s Encrypt.
  • Pokud používáte certifikát s vlastním podpisem, vyžaduje klonování HTTPS GIT_SSL_NO_VERIFY=true.

Povolení SSL s doménou

1. Nasměruj svou doménu na IP serveru.

2. Aktualizujte konfiguraci Gogs (/etc/gogs/conf/app.ini):

EXTERNAL_URL = https://yourdomain.com/
DOMAIN = yourdomain.com
SSH_DOMAIN = yourdomain.com

3. Restartujte službu Gogs, abyste použili změny:

systemctl restart gogs

3. Upravte konfiguraci Nginx a nahraďte obě server_name <IP>; se svou doménou (<your-domain>) v blocích pro HTTP (port 80) i HTTPS (port 443):

vim /etc/nginx/sites-available/gogs.conf

4. Nainstalujte Certbot:

apt install -y certbot python3-certbot-nginx

5. Spuštěním následujícího příkazu vygenerujte platný certifikát Let’s Encrypt:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

6. Nahraďte cesty SSL v konfiguraci Nginx:

vim /etc/nginx/sites-available/gogs.conf
# Before:
    # ssl_certificate /etc/nginx/ssl/gogs.crt;
    # ssl_certificate_key /etc/nginx/ssl/gogs.key;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

7. Restartujte Nginx, abyste použili změny:

systemctl restart nginx

8. Otevřete prohlížeč a navštivte: https://yourdomain.com

Více v DevOps nástrojích

Související aplikace.

Nasaďte Gogs nyní. Od 2,48 $/měs.