Кофигурирование приложения
Конфигурация сервера
Параметр | Название | Стандартное значение | Пример |
---|---|---|---|
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. Название файла может содержать в себе как относительный путь к дирректиории из которой происходит запуска приложения так и точный путь, если он начичнается с / Обратите внимание, что на каждый запущенный инстанс можно указать свой файл логов, в ином случае будет использован один файл для всех инстансов
В данной статье
Документация
- Общая информация
- Основные настройки
- Авторизация и регистрация
- Уведомления
- Создание README для профиля
- Введение
- Получение Access Token
- Пагинация
- Методы для проектов
- Методы для пользователей
- Методы для команд
- Методы для компаний
- Методы для проблем
- Методы для комментариев к проблемам
- Методы для коммитов
- Методы для релизов
- Методы для запросов на слияние
- Методы для веток
- Методы для вебхуков
- Методы для тегов