Sleva 50% všechny plány, časově omezená nabídka. Od $2.48/mo
Gogs

Gogs

Gogs je jednoduchý self-hosted Git server. Lehčí než Gitea a GitLab, napsaný v Go, pohodlně běží na VPS s 512 MB RAM nebo i na Raspberry Pi. Původní Git server postavený na Go, předchůdce Gitea, stále aktivně udržovaný pro uživatele, kteří preferují menší a přehlednější řešení.

Verze

0.14.2

Operační systém

Ubuntu Server 24.04 LTS

Minimální RAM

1 GB

Typy IP

IPV4,IPV6

Přístup

  • Otevřete prohlížeč a přejděte na: https://<SERVER_IP>
  • Varování prohlížeče o SSL je očekávané (self-signed certifikát)
  • Zaregistrujte nový účet
  • První zaregistrovaný účet se stane administrátorem

Zakázání vlastní registrace (volitelné)

Ve výchozím nastavení je vlastní registrace uživatelů povolena.

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

2. Pod [auth] sekce, změnit 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
  • Data aplikace: /var/lib/gogs
  • Úložiště: /var/lib/gogs/repositories
  • Protokoly: /var/log/gogs
  • Systemd služba: /etc/systemd/system/gogs.service
  • Konfigurace Nginxu: /etc/nginx/sites-available/gogs.conf
  • Certifikáty TLS: /etc/nginx/ssl/

Používání Gitu

HTTPS (self-signed certifikát):

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 se nachází na /etc/gogs/conf/app.ini. Po úpravě konfiguračního souboru restartujte službu pomocí systemctl restart gogs.
  • Limit nahrávání pro Nginx je definován v /etc/nginx/sites-available/gogs.conf pomocí client_max_body_size. Pro velké repozitáře jej zvyšte a restartujte Nginx.
  • Pro větší nasazení můžete odkomentovat LimitMEMLOCK=infinity a LimitNOFILE=65535 in /etc/systemd/system/gogs.service, poté spusťte systemctl daemon-reload a restartujte Gogs.
  • Přihlašovací údaje k databázi jsou definovány v /etc/gogs/conf/app.ini.
  • Pro produkční prostředí doporučujeme nahradit self-signed certifikát platným certifikátem Let's Encrypt.
  • Při použití self-signed certifikátu vyžaduje klonování přes HTTPS GIT_SSL_NO_VERIFY=true.

Povolení SSL s vlastní doménou

1. Nasměrujte svou doménu na IP adresu 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, aby se změny projevily:

systemctl restart gogs

3. Upravte konfiguraci Nginx a nahraďte obě server_name <IP>; svou doménou (<your-domain>) pro bloky 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. Spusťte následující příkaz pro vygenerování platného certifikátu 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, aby se změny projevily:

systemctl restart nginx

8. Otevřete prohlížeč a přejděte na: https://yourdomain.com

Další nástroje DevOps

Související aplikace.

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