Gitea Setup Notes
1️⃣ Добавление HTTPS сертификата (Let's Encrypt + Nginx)
Установка certbot
ставим certbot на хост (НЕ в контейнер)
sudo apt update
sudo apt install certbot python3-certbot-nginx -y
Базовый nginx конфиг (HTTP → прокси в Gitea)
Файл: ./nginx/nginx.conf
server {
listen 80;
server_name gitea.quietblock.net;
location / {
proxy_pass http://gitea:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Получение сертификата
sudo certbot certonly --standalone -d gitea.quietblock.net
Запрашивает SSL сертификат для домена через standalone режим.
После успеха сертификаты будут:
/etc/letsencrypt/live/gitea.quietblock.net/fullchain.pem
/etc/letsencrypt/live/gitea.quietblock.net/privkey.pem
Docker nginx сервис
nginx:
image: nginx:stable
container_name: nginx
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx:/etc/nginx/conf.d
- /etc/letsencrypt:/etc/letsencrypt:ro
depends_on:
- gitea
Финальный nginx конфиг (HTTP → HTTPS + SSL)
server {
listen 80;
server_name gitea.quietblock.net;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name gitea.quietblock.net;
ssl_certificate /etc/letsencrypt/live/gitea.quietblock.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gitea.quietblock.net/privkey.pem;
location / {
proxy_pass http://gitea:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Что происходит: - HTTP редиректится на HTTPS - nginx использует SSL сертификаты - HTTPS проксируется в контейнер gitea
2️⃣ Создание администратора в Gitea
Зайти внутрь контейнера
docker exec -it --user git gitea /bin/bash
Открывает shell внутри контейнера gitea от пользователя git.
Создать администратора
gitea admin user create --username adminuser --password 14881488 --email you@mail.com --admin