Начало работы

Это руководство поможет вам запустить Apostol CRM -- бэкенд с 418 REST API эндпоинтами, OAuth 2.0 аутентификацией и движком рабочих процессов.

Быстрый старт с Docker

git clone --recurse-submodules https://github.com/apostoldevel/apostol-crm.git
cd apostol-crm/backend
./docker-build.sh
./docker-up.sh

Запускается пять сервисов: PostgreSQL 18, PgBouncer, Nginx, PgWeb и Backend.

URLОписание
localhost:8080Фронтенд
localhost:8080/docsSwagger UI (418 эндпоинтов)
localhost:8081PgWeb -- администрирование БД

Учётные данные по умолчанию: admin / admin

./docker-down.sh           # остановить все сервисы
./docker-new-database.sh   # пересоздать том PostgreSQL (деструктивно)

Первый API-запрос

# Проверка работоспособности
curl http://localhost:4977/api/v1/ping
# {"ok": true}

# Аутентификация
curl -X POST http://localhost:4977/oauth2/token \
  -d 'grant_type=password&username=admin&password=admin&client_id=web'

# Получить список клиентов
curl http://localhost:4977/api/v1/client/list \
  -H 'Authorization: Bearer eyJ...'

Сборка из исходников

Зависимости (Debian/Ubuntu):

sudo apt-get install build-essential libssl-dev libcurl4-openssl-dev \
    libpq-dev zlib1g-dev make cmake gcc g++

Сборка:

git clone --recurse-submodules https://github.com/apostoldevel/apostol-crm.git
cd apostol-crm/backend
./configure
cmake --build cmake-build-release --parallel $(nproc)
sudo cmake --install cmake-build-release

Настройка базы данных:

echo '*:*:*:kernel:kernel' >> ~/.pgpass
echo '*:*:*:admin:admin'   >> ~/.pgpass
echo '*:*:*:daemon:daemon' >> ~/.pgpass
chmod 600 ~/.pgpass

cd db/
./runme.sh --init

Полная версия доступна на английском языке: Getting Started (English).

Следующие шаги