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 с ошибкой