README.md

GitClic in Docker

Настройка

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

  • Переменная - сама переменная окружения
  • Описание - описание переменной окружения
  • Пример - пример переменной окружения
  • Значение по умолчанию - значение по умолчанию переменной окружения елси есть
  • Обязательно - обязательно ли использования этой переменной
Переменная Описание Пример Значение по умолчанию Обязательно
GF_PORT Порт сервера 8080 8080 Нет
GF_ADDR Адрес сервера 0.0.0.0 0.0.0.0 Нет
GF_SSH_PORT SSH порт 22 22 Нет
GF_MAXFILE_SIZE Максимальный размер загружаемых файлов в формах и запросах api 500MB 500MB Нет
GF_MAXREQUEST_SIZE Максимальный размер самого запроса 500MB 500MB Нет
PG_URL JDBC URL для подключения к БД jdbc:postgresql://10.20.30.2/gitflic Да
PG_USER Имя пользователя БД user Да
PG_PASSWORD Пароль пользователя БД Pa$$word Да
RD_HOST Адрес сервера Redis 10.20.30.2 Да
RD_PORT Порт Redis 6379 6379 Нет
RD_USER Пользователь Redis user Нет
RD_PASSWORD Пароль Redis Pa$$word Нет
RD_DATABASE Номер БД Redis 0 0 Нет
RD_SSL Использовать ли SSL при подключении к Redis true false Нет
GF_REPO_DIR Директория, в которой должны храниться репозитории git /data/repo /data/repo Нет
GF_IMG_DIR Директория, в которой должны храниться аватары и иные медиа файлы /data/img /data/img Нет
GF_RELEASES_DIR Директория, в которой должны храниться файлы, которые прикложены к релизу /data/releases /data/releases Нет
GF_CICD_DIR Директория, в которой должны храниться файлы конвееров /data/cicd /data/cicd
GF_SSH_CERT Путь до SSH ключа сервера /data/id_rsa /data/id_rsa Нет
GF_MAIL_HOST Адрес сервера почты 10.20.30.2 Да
GF_MAIL_PORT Порт сервера почты 587 Да
GF_MAIL_USER Пользователь сервера почты user Да
GF_MAIL_PASSWORD Пароль сервера почты Pa$$word Да
GF_BASE_URL Домен или хост, на котором запущено приложение https://gitflic.ru localhost Нет
GF_TRANSPORT_URL Домен или хост, по которому осуществляется транспорт данных в git репозиторий gitflic.ru localhost Нет
GF_PACK_SIZE Максимальный размер пакета, который гит может отправить во время пуша в репозиторий 100MB 100MB Нет
GF_LIMIT_PACK_SIZE Включение механизма ограничения максимального размера пакета при пуше true false Нет
GF_LIMIT_PROJECT_SIZE Включение механизма ограничения максимального размера #репозитория true false Нет
GF_LOG_FILE Имя файла лога server.log id_контейнера.log Нет
GF_LOG_DIR Директория, в которой должны храниться логи /data/logs /data/logs Нет
GF_LOG_LEVEL Уровень логирования DEBUG INFO Нет

Сборка контейнеров

Postgres

docker build postgres/ --tag gitflic-postgres:latest

GitFlic

docker build . --tag gitflic:latest

Запуск

С использованием Docker Compose

git clone https://gitflic.ru/project/ismv/gitflic-docker
export GF_CLIENT_ID="AccessToken"  # См сам токен в профиле, в https://gitflic.ru/settings/oauth/token
export GF_VERSION=v2.13.0  # Тег в репе https://gitflic.ru/project/gitflic/gitflic/
docker compose build
docker compose pull
docker compose up -d

С использованием просто Docker

# Создать сеть
docker network create gitflic

# Собрать и запустить PostgreSQL
docker build postgres/ --tag gitflic-postgres:latest
docker run -d \
  --name gitflic-postgres \
  --network=gitflic \
  -e POSTGRES_USER=gitflic \
  -e POSTGRES_PASSWORD=gitflic \
  -e POSTGRES_DB=gitflic \
  -v $PWD/postgres_data:/var/lib/postgresql/data \
  gitflic-postgres:latest

# Запустить Redis
docker run -d \
  --name gitflic-redis \
  --network=gitflic \
  -v $PWD/redis_data:/data \
  redis:6.2 redis-server --save 60 1 --loglevel warning

# Собрать и запустить GitFlic
# См сам токен в профиле, в https://gitflic.ru/settings/oauth/token
# Тег в репе https://gitflic.ru/project/gitflic/gitflic/
docker build . --tag gitflic:latest --build-arg GF_VERSION=v2.13.0 --build-arg  GF_CLIENT_ID="AccessToken"
docker run -d \
  --name gitflic \
  --network=gitflic \
  -e PG_URL=jdbc:postgresql://gitflic-postgres/gitflic \
  -e PG_USER=gitflic \
  -e PG_PASSWORD=gitflic \
  -e RD_HOST=gitflic-redis \
  -e GF_MAIL_HOST=mail.admin.local \
  -e GF_MAIL_PORT=587 \
  -e GF_MAIL_USER=adminuser@admin.local \
  -e GF_MAIL_PASSWORD=qwerty123 \
  -e GF_LOG_LEVEL=INFO \
  -v $PWD/gitflic_data:/data \
  -p 8080:8080 \
  -p 22:22 \
  gitflic:latest
Описание
Конвейеры
0 успешных
0 с ошибкой
Разработчики