vc-fileserver #
API для загрузки и скачивания файлов и их метаданных
Настраивается через переменные окружения.
Порты #
Контейнер запускает следующие порты:
9108публичное http API9118внутренний порт для сохранения записей взаимодействий отvc-records
Переменные окружения #
LOGLEVELустановка уровня логирования (TRACE,DEBUG,INFO,WARN,ERRROR), по-умолчаниюINFOVC_FILESERVER_REQUEST_MAX_SIZEмаксимальный размер передаваемого файла, значение с указанием величины (m - мегабайты, g - гигабайты), по-умолчаниюinfinite- не ограничено. Значение должно быть достаточным для загрузки больших файлов записей взаимодействий.VC_FILESERVER_HTTP_TIMEOUTтаймаут http запроса, время с указанием величины (s - секунды, m - минуты), по-умолчанию600s. Следует выставлять достаточным для возможности загрузки больших файлов записей взаимодействий.
Настройка tls для подключений от vc-records
#
По-умолчанию, vc-records подключается к vc-fileserver для загрузки записей на порт 9118 по протоколу http. Если эти контейнеры расположены на разных хостах, то может потребоваться настройка защищенного соединения между ними.
VC_FILESERVER_HTTP_TLS_USEзначениеtrueвключает tls на порту9118VC_FILESERVER_HTTP_CERTFILEуказывает путь к файлу цепочки сертификата (формат PEM)VC_FILESERVER_HTTP_KEYFILEуказывает путь к файлу с ключом сертификата (формат PEM)
Если пути к сертификату и его ключу не заданы, то при установленном параметре VC_FILESERVER_HTTP_TLS_USE=true подкладываются самоподписанные сертификат и ключ.
Тома #
Контейнер использует 2 тома для хранения данных:
/storage- это основное хранилище файлов (на схеме FileStorage), рекомендуется примонтировать сетевой диск с регулярным процессом резервного копирования/tmp/storage- это временное хранилище файлов, сюда попадают файлы, которые находятся в процессе загрузки, не требует отдельно примонтированного диска, но может потребовать места на хосте виртуализации.
Настройка подключений к компонентам платформы #
Примеры compose файлов #
Запуск в докере локально
volumes:
FileStorage:
services:
vc-fileserver:
image: cr.repo.altuera.ru/sva/prod/vc-fileserver:${SVA_VERSION}
restart: unless-stopped
environment:
LOGLEVEL: ${LOGLEVEL}
volumes:
- FileStorage:/storage
Установка SVA на один сервер
services:
vc-fileserver:
image: cr.repo.altuera.ru/sva/prod/vc-fileserver:${SVA_VERSION}
restart: unless-stopped
environment:
LOGLEVEL: ${LOGLEVEL}
volumes:
- ${FILESERVER_DIR}:/storage
Установка SVA на несколько серверов
volumes:
FileStorage:
driver: local
driver_opts:
type: nfs4
o: addr=${HOST_DB},rw
device: :/exports/FileStorage
services:
vc-fileserver:
image: cr.repo.altuera.ru/sva/prod/vc-fileserver:${SVA_VERSION}
restart: unless-stopped
ports:
- 9118:9118
- 9108:9108
environment:
LOGLEVEL: ${LOGLEVEL}
EUID: 1101
EGID: 1101
VC_FILESERVER_HTTP_TLS_USE: true
VC_FILESERVER_HTTP_CERTFILE: /certificates/cert_fullchain.pem
VC_FILESERVER_HTTP_KEYFILE: /certificates/cert.key
DB_HOST: ${HOST_DB}
DB_TLS_USE: true
DB_CACERT_PATH: /certificates/CA.crt
DB_USER: dbuser
DB_PASSWORD: dbpassword
MQTT_SERVER_HOST: ${HOST_DB}
MQTT_SERVER_PORT: 8883
MQTT_TLS_USE: true
MQTT_CACERT_PATH: /certificates/CA.crt
MQTT_USER_NAME: mqttuser
MQTT_PASSWORD: mqttpassword
volumes:
- FileStorage:/storage
- /srv/certificates/CA.crt:/certificates/CA.crt:ro
- /srv/certificates/cert_fullchain.pem:/certificates/cert_fullchain.pem:ro
- /srv/certificates/cert.key:/certificates/cert.key:ro