Перейти к содержанию

Установка на postgres

При эксплуатации в производственных(production) средах с большим количеством камер и включённой детекцией движения мы рекомендуем использовать в качестве базы данных postgres, как более производительную.

В примерах использован простой пароль, его желательно изменить!

Запуск postgres на хосте

Для установки используйте официальную инструкцию с сайта разработчика https://www.postgresql.org/download/

Быстрая установка в Debian или Ubuntu:

sudo apt install postgresql-common
sudo sh /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
sudo apt install postgresql-13 -y

После установки и запуска, нужно создать базу данных и роль для подключения.

sudo -u postgres psql -c "CREATE DATABASE yucca;"
sudo -u postgres psql -c "CREATE USER yucca WITH PASSWORD 'yucca';"
sudo -u postgres psql -c 'GRANT ALL PRIVILEGES ON DATABASE yucca TO yucca;'

Запуск postgres в docker

Запустите официальный контейнер с нужными параметрами:

docker run -d \
    --name yucca-postgres \
    --net host \
    -e POSTGRES_USER=yucca \
    -e POSTGRES_PASSWORD=yucca \
    -e POSTGRES_DB=yucca \
    postgres:13.4-alpine

Настройка подключения Юкка к базе

Остновите сервер:

sudo systemctl stop yucca

Укажите тип postgres в параметре database.type, а так же остальные реквизиты для подключения:

пример конечной конфигурации через файл:

[database]
  busy_timeout = 500
  ca_cert_path = "/etc/ssl/certs"
  cache_mode = "shared"
  client_cert_path = ""
  client_key_path = ""
  conn_max_lifetime = "0s"
  host = "127.0.0.1:5432"
  log_queries = false
  max_idle_conn = 2
  max_open_conn = 0
  name = "yucca"
  password = "yucca"
  path = ""
  ssl_mode = "disable"
  type = "postgres"
  user = "yucca"

Запустите сервер:

sudo systemctl start yucca

При успешном подключении, в логе можно увидеть прмерно следующие сообщения:

sudo journalctl -o short --no-pager -n 100 -f -u yucca
{"component":"server","level":"info","msg":"Starting...","time":"2021-11-10T06:27:20Z"}
{"component":"server","level":"info","msg":"Listen address: :9910","time":"2021-11-10T06:27:20Z"}
{"component":"sql","level":"info","msg":"PING DATABASE postgres","time":"2021-11-10T06:27:20Z"}
{"component":"server","level":"info","msg":"ORM engine initialization successful","time":"2021-11-10T06:27:21Z"}
{"component":"server","level":"info","msg":"Server initialization successful","time":"2021-11-10T06:27:21Z"}

Postgres 14 и старше

Поддерживается начиная с версии Юкка 0.6.1, подробнее тут https://gitlab.com/yuccastream/yucca/-/issues/820