Gitea
Благодаря возможности Gitea выполнять аутентификацию через SMTP, её интеграция с animails тривиальна. Требуется внести несколько изменений:
-
Для создания базы данных gitea подключитесь к оболочке (shell) и выполните следующие команды:
source animails.conf docker exec -it $(docker ps -f name=mysql-animails -q) mysql -uroot -p${DBROOT} -e "CREATE DATABASE gitea;" docker exec -it $(docker ps -f name=mysql-animails -q) mysql -uroot -p${DBROOT} -e "CREATE USER 'gitea'@'%' IDENTIFIED BY 'your_strong_password';" docker exec -it $(docker ps -f name=mysql-animails -q) mysql -uroot -p${DBROOT} -e "GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'%';" -
Откройте
docker-compose.override.ymlи добавьте gitea:
services:
gitea-animails:
image: gitea/gitea:1
volumes:
- ./data/gitea:/data
networks:
animails-network:
aliases:
- gitea
ports:
- "${GITEA_SSH_PORT:-127.0.0.1:4000}:22"
-
Создайте файл
data/conf/nginx/site.gitea.customи добавьте:location /gitea/ { proxy_pass http://gitea:3000/; } -
Откройте
animails.confи определите привязку, которую gitea должна использовать для SSH. Пример:
GITEA_SSH_PORT=127.0.0.1:4000
- Выполните команды для запуска контейнера gitea и последующего перезапуска контейнера nginx-animails:
docker compose up -d
docker compose restart nginx-animails
docker-compose up -d
docker-compose restart nginx-animails
- Если вы принудительно используете HTTPS в animails, выполните шаг 9 и перезапустите gitea следующей командой:
docker compose restart gitea-animails
docker-compose restart gitea-animails
Переходите к шагу 7 (не забудьте использовать https вместо http: https://mx.example.org/gitea/).
-
Откройте
http://${MAILCOW_HOSTNAME}/gitea/, напримерhttp://mx.example.org/gitea/. В деталях базы данных установитеmysqlв качестве хоста. Используйтеgiteaкак имя базы данных,giteaкак пользователя иyour_strong_password, который вы определили на шаге 1, как пароль. -
После завершения установки войдите под администратором и перейдите в "settings" -> "authorization" -> "enable SMTP". В качестве SMTP-хоста укажите
postfixс портом587, включитеSkip TLS Verify, так как используется SAN, не внесенный в список ("postfix", скорее всего, не входит в ваш сертификат). -
Создайте файл
data/gitea/gitea/conf/app.iniи установите следующие значения. Значения параметров можно найти в шпаргалке Gitea.
[server]
SSH_LISTEN_PORT = 22
# Для GITEA_SSH_PORT=127.0.0.1:4000 в animails.conf установите:
SSH_DOMAIN = 127.0.0.1
SSH_PORT = 4000
# Для MAILCOW_HOSTNAME=mx.example.org в animails.conf (и стандартных портов HTTPS) установите:
ROOT_URL = https://mx.example.org/gitea/
- Перезапустите gitea следующей командой. Теперь пользователи смогут входить в систему, используя учетные записи, управляемые animails.
docker compose restart gitea-animails
docker-compose restart gitea-animails