Кофигурирование приложения

Конфигурация сервера

Параметр Название Стандартное значение Пример
server.address Адрес HTTP сервера localhost localhost
server.port Порт HTTP сервера 8080 8080
ssh.server.port Порт SSH сервера 22 22
spring.servlet.multipart.maxFileSize Максимальный размер загружаемого через форму файла 500MB 500MB
spring.servlet.multipart.maxRequestSize Максимальный размер HTTP запроса 500MB 500MB
ssh.server.cert Путь к ключу для ssh соединения /var/tmp/gitflic/cert/key.pem

Для того, чтобы было возможным использовать remote-url вида git@gitflic.ru:gitflic/gitflic.git ssh сервер должен быть запущен на стандратном для ssh соединения порту 22. Но если необходимо запустить несколько инстансов приложения на одной машине или необходимо сделать прослойку между приложением и внешними для машины соединенями с помощью HaProxy порт может быть изменен.

Конфигурация базы данных

Параметр Название Стандартное значение Пример
spring.datasource.url URL для подключения к БД jdbc:postgresql://localhost:5432/gitflic
spring.datasource.username Имя юзера БД postgres
spring.datasource.password Пароль юзера БД postgres

Обратите внимание, что приложения работает только с базой данных PostgreSQL.

Конфигурация Redis

Параметр Название Стандартное значение Пример
spring.redis.host Адрес для подключения localhost
spring.redis.port Порт 6379
spring.redis.username Имя юзера user
spring.redis.password Пароль юзера user
spring.redis.database Номер базы данных 0 0
spring.redis.ssl Использовать ssl false false

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

Параметр Название Стандартное значение Пример
repository.dir Директория размещения bare репозиториев /var/tmp/gitflic/repo/
image.upload.dir Директория размещения медиа файлов /var/tmp/gitflic/img/
releases.upload.dir Директория размещения файлов релизов /var/tmp/gitflic/releases/

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

Настройка SMTP сервера

Данная настройка является обязательной для работы приложения. Без настройки smtp сервера приложение не сможет отправлять письма как минимум для регистрации пользователей.

Параметр Название Стандартное значение Пример
spring.mail.host Адрес SMTP сервера 127.0.0.1
spring.mail.port Порт SMTP сервера 80
spring.mail.username Имя юзера user
spring.mail.password Пароль юзера password

Общие настройки приложения

Параметр Название Стандартное значение Пример
gitflic.base.url Базовый урл приложения localhost https://gitflic.ru
gitflic.transport.url Базовый урл git транспорта localhost https://gitflic.ru
gitflic.defaultPackSize Максимальный размер пакета коммитов 100MB 100MB
gitflic.limitPackSize Вкл/выкл ограничения максимального размера пакета коммитов false false
gitflic.limitProjectSize Вкл/выкл ограничения максимального размера репозитория false false

Свойство gitflic.base.url должно содержать в себе домен или хост, на котором запущено приложения. Данное свойство используется при генерации ссылок для внешних источников, например для ссылок в письмах. Стандартное значение для данного свойства localhost. Например данное свойство для SaaS варианта нашего сервиса имеет значение gitflic.base.url=https://gitflic.ru.

Свойство gitflic.transport.url должно содержать в себе домен или хост, по которому осуществляется транспорт данных в git репозиторий. Стандартное значение для данного параметра localhost. Данный параметр используется для генерации урла, который отображается на странице каждого проекта и приходит в данных в из методов API и в данных вебхуков. Есть некоторые нюансы в генерации урлов для ssh транспорта, так как порт, по которому осуществляется биндинг ssh сервера стандартный (22), но может быть изменен, то вариант урла (например) git@gitflic.ru:vault/zookeeper.git с нестандартными настройками работать не будет. В таком случае необходимо настроить проксисервер (например HaProxy), для того чтобы внешние обращения были перенапрвлены на указанный в приложении порт. Плюс если указать в значении урла порт (например localhost:8080), то для ssh транспорта будет сгенерирован урл git@localhost:vault/zookeeper.git без указанного порта.

Параметр gitflic.defaultPackSize ограничивает максимальный размер пакета, который git может отправить во время пуша в репозиторий. Стандартное значение 100MB. Данное поле имеет тип String. Возможны следующие суффиксы KB, MB, GB, TB.

Свойство gitflic.limitPackSize используется для включения и отключения механизма ограничения максимального размера пакета при пуше. Если данный параметр имеет значение true, то настройка конкретного проекта происходит через настройки компании в администраторской панели. Стандартное значение false.

Свойство gitflic.limitProjectSize использется для включения и отключения механизма ограничения максимального размера репозитория. Если данное значение имеет значение true, то настройка конретного проекта происходит через настройки проекта в панеле администрирования. Стандартное значение false.

Настройки логирования

Параметр Название Стандартное значение Пример
logging.file.name Название и путь файла логов server.log server.log
logging.file.path Путь к файлу логов /var/log/gitflic
logging.level.root Уровень логирования INFO DEBUG

Свойтво logging.file.name должно сожержать в себе название файла. Стандартное значение server.log. Название файла может содержать в себе как относительный путь к дирректиории из которой происходит запуска приложения так и точный путь, если он начичнается с / Обратите внимание, что на каждый запущенный инстанс можно указать свой файл логов, в ином случае будет использован один файл для всех инстансов

В данной статье

Документация