Устновка и настройка Gitea

Запуск GItea в Docker.

docker-compose.yml для запуска gitea:

version: "3.9"
services:
    postgresql:
      image: postgres:14.5-alpine
      ports:
        - '5432:5432'
      environment:
        # init DB
        - POSTGRES_USER=postgres
        - POSTGRES_PASSWORD=PASSWORD
      volumes: 
        - /opt/postgresql-data:/var/lib/postgresql/data
        - /etc/localtime:/etc/localtime:ro
        - /etc/hosts:/etc/hosts:ro
      healthcheck:
        test: ["CMD-SHELL", "pg_isready"]
        interval: 20s
        timeout: 10s
        retries: 5
      # swarm
      deploy:
        placement:
          constraints:
              - "node.labels.hostname == srv-prod-db-01"

    gitea:
      image: gitea/gitea:1.17.3
      restart: always
      environment:
        - USER_UID=1000
        - USER_GID=1000
      volumes:
      - /mnt/gluster-storage/interlan/gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
      ports:
        - '18080:3000'
        - '2224:22'
      # swarm
      deploy:
        placement:
          constraints:
              - "node.labels.status == worker"

Настройка

Во первых, создаем базу данных и пользователя в Postgresql, желательно все это хозяйство как-то изначально унифицировать и в мастере конфигурирования прописываем необходимые параметры.

Установка Gitea локально в Ubuntu 20.04

Создаем каталог в /opt/ где будет жить сервис, скачиваем и делаем исполняемым

# mkdir /opt/gitea
# cd /opt/gitea/
# wget -O gitea https://dl.gitea.io/gitea/1.17.3/gitea-1.17.3-linux-amd64
# chmod +x ./gitea

Создаем пользователя от имени которого будет запускаться Gitea и тестовый запуск

# adduser --system --shell /bin/bash --gecos 'Gitea' --group --disabled-password --home /opt/gitea/ git
# chown -R git:git /opt/gitea/
# su git
$ ./gitea --port 18001

Теперь можно подключиться браузером на указанный порт (в моем случае http://185.135.80.10:18001)

Базовая настройка довольно простая.

  • Создаем базу данных и пользователя
  • В настройках web-интерфейса прописываем базу и пока больше ничего не меняем

Настройка для запуска в реальном окружении

  • Создаем домен где все это будет крутиться
  • Получаем сертификат Let’s encrypt
  • Создаем реверс-прокси на домен
  • Меняем в настройках конфига все под созданный домен

SystemD unit для запуска Gitea

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
[Service]
LimitNOFILE=524288:524288
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/opt/gitea
ExecStart=/opt/gitea/gitea web --port 18001
Restart=always
Environment=USER=git HOME=/opt/gitea/ GITEA_WORK_DIR=/opt/gitea/

[Install]
WantedBy=multi-user.target

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *