Для работы сервера необходимо
- GNU Make >= 4.2.1
- Golang >= 1.13
- NodeJS >= 10 с yarn или npm 3.
- Python 3.7+ (т.к. используется в коде async/await)
- Redis
- RabbitMQ
- PostgreSQL 11+
- Reverse proxy (nginx/traefik/haproxy/что то еще) с самоподписанным сертификатом
Или
- Brain
- Docker Engine => 17.12.0
- Docker Compose
Для того что бы скомпилировать сервер потребуется GoLang версии 1.13 и выше.
# через GVM (https://github.com/moovweb/gvm)
$ bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
$ gvm install -B go1.15 # или выше
$ gvm use go1.15 --default
# через brew
$ brew install golang
В проекте есть тестовый файл конфигурации, а именно config.example.yaml
который нужно заполнить и переименовать в config.yaml
С помощью Make соберем сервер и запустим его
# список всех доступных команд
$ make
# установить все зависимости
$ make install
# зависимости необходимые для работы CICD
$ make install-ci
# запускаем миграцию базы данных
# для работы используется переменная окружения CONFIG__DATABASE__DSN
$ make db-migrate
# информация о базе данных и последняя миграция
$ make db-status
# открат изменений
$ make db-rollback
$ make build
# после сборки в папке `bin/` появится `ayako`