110 lines
2.7 KiB
Markdown
110 lines
2.7 KiB
Markdown
# Gitea Setup Notes
|
||
|
||
## 1️⃣ Добавление HTTPS сертификата (Let's Encrypt + Nginx)
|
||
|
||
### Установка certbot
|
||
ставим certbot на хост (НЕ в контейнер)
|
||
|
||
``` bash
|
||
sudo apt update
|
||
sudo apt install certbot python3-certbot-nginx -y
|
||
```
|
||
|
||
### Базовый nginx конфиг (HTTP → прокси в Gitea)
|
||
|
||
Файл: `./nginx/nginx.conf`
|
||
|
||
``` nginx
|
||
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;
|
||
}
|
||
}
|
||
```
|
||
|
||
### Получение сертификата
|
||
|
||
``` bash
|
||
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 сервис
|
||
|
||
``` yaml
|
||
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)
|
||
|
||
``` nginx
|
||
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
|
||
|
||
### Зайти внутрь контейнера
|
||
|
||
``` bash
|
||
docker exec -it --user git gitea /bin/bash
|
||
```
|
||
|
||
Открывает shell внутри контейнера gitea от пользователя git.
|
||
|
||
### Создать администратора
|
||
|
||
``` bash
|
||
gitea admin user create --username adminuser --password 14881488 --email you@mail.com --admin
|
||
```
|