pinkmine/docs/Установка.md

3.8 KiB
Raw Permalink Blame History

Установка

Инструкция для установки приложения

Требования к системе

Требования к окружению для сборки и запуска приложения:

  • CouchDB в качестве хранилища данных
  • NodeJS для сборки и запуска backend-а и frontend-а

Доступы к внешним системам:

  • Токен для подключения telegram-бота
  • Токен для доступа к API Redmine

Подготовка и запуск couchdb

CouchDB необходим для хранения данных.

Для запуска можно воспользоваться любым удобным сопособом.

Пример с помощью docker-compose

  1. docker-compose.yml:

    version: '3.1'
    
    services:
      couchdb:
        image: apache/couchdb:latest
        restart: always
        ports:
          - 127.0.0.1:5984:5984
        volumes:
          - ./couchdb-data:/opt/couchdb/data
        environment:
          - COUCHDB_USER
          - COUCHDB_PASSWORD
    
  2. Так же нужно указать имя и пароль с помощью файла .env:

    COUCHDB_USER=admin
    COUCHDB_PASSWORD=password
    
  3. Создать папку couchdb-data для вольюма определённого для контейнера в docker-compose.yml:

    mkdir couchdb-data
    
  4. Для запуска воспользоваться командой:

    docker-compose up -d
    

Установка зависимостей для backend-а и frontend-а

Backend и frontend написаны на языке typescript. Для загрузки и запуска необходимо выполнить:

cd $PROJECT_DIR          && npm install
cd $PROJECT_DIR/frontend && npm install

Настройка

Нужно скопировать все конфигурационные файлы CONFIG_NAME.jsonc.dist в CONFIG_NAME.jsonc:

cd $PROJECT_DIR/configs/

cp  calendar-enhancer.jsonc.dist              calendar-enhancer.jsonc
cp  current-user-rules.jsonc.dist             current-user-rules.jsonc
cp  eccm-config.jsonc.dist                    eccm-config.jsonc
cp  issue-event-emitter-config.jsonc.dist     issue-event-emitter-config.jsonc
cp  main-config.jsonc.dist                    main-config.jsonc
cp  redmine-status-changes-config.jsonc.dist  redmine-status-changes-config.jsonc
cp  redmine-statuses-config.jsonc.dist        redmine-statuses-config.jsonc
cp  simple-kanban-board-config.jsonc.dist     simple-kanban-board-config.jsonc

Или можно взять за основу файлы из папки $PROJECT_DIR/configs/configs.example/ или в качестве примеров для заполнения. В этих файлах можно обратить внимание на строчки с TODO и рекоментациями что нужно указать в конфигурационном файле. Там могут встречаться такие рекомендации как:

  • Указать host, port, username и password для доступа к couchdb
  • Указать token от бота telegram

Запуск приложения

  1. Нужно сделать сборку frontend-а:

    cd $PROJECT_DIR/frontend/ && npm run build
    
  2. Сделать сборку или можно просто запустить backend:

    cd $PROJECT_DIR/ && npm run start
    

Если нужно запустить приложение с явным указанием порта, то можно воспользоваться переменной окружения PORT.