Тема
Docker-compose HA
Необходимо для работы
Установка
- Создайте в корне папку
/sboard
shell
mkdir "/sboard"
- Создайте в новой папке файл
docker-compose.yml
shell
nano docker-compose.yml
- Добавьте в
docker-compose.yml
следующее:
yml
version: "3.3"
services:
sboard:
image: "${DOCKER_REGISTRY}/sboard:${DOCKER_IMAGE_TAG}"
restart: "always"
ports:
- 80:80
- 443:443
volumes:
- "./certs:/certs"
environment:
DOMAIN_NAME: "${DOMAIN_NAME}"
POSTGRES_URL: "${POSTGRES_URL}"
REDIS_HOST: "${REDIS_HOST}"
REDIS_PORT: "${REDIS_PORT}"
REDIS_PASS: "${REDIS_PASS}"
S3_BUCKET: "${S3_BUCKET}"
S3_ACCESS_KEY_ID: "${S3_ACCESS_KEY_ID}"
S3_SECRET_ACCESS_KEY: "${S3_SECRET_ACCESS_KEY}"
S3_ENDPOINT: "${S3_ENDPOINT}"
- Создайте файл
.env
в папке сdocker-compose.yml
и укажите в нём переменные окружения. Пример:
shell
DOCKER_REGISTRY=cr.yandex/crpqnc9iiqap7fs19jhl
DOCKER_IMAGE_TAG=latest
DOMAIN_NAME=sboard.mycompany.com # домен, на котором будет работать Эсборд в вашем контуре
POSTGRES_URL=postgresql://user:password@host:5432/db # url подключения к базе данных postgresql, содержит в себе root user, пароль и хост базы
REDIS_HOST=redis # хост для базы данных redis
REDIS_PORT=6379 # порт для базы данных redis
REDIS_PASS=pass # пароль для базы данных redis
S3_BUCKET=example-bucket # название бакета в s3 storage
S3_ACCESS_KEY_ID=access_key_id # айди ключа доступа к s3 storage
S3_SECRET_ACCESS_KEY=secret_access_key # ключ доступа к s3 storage
S3_ENDPOINT=https://storage.s3.com # url для s3 storage
- Авторизуйтесь в Docker registry (запросите ключ авторизации
key.json
у вашего менеджера)
shell
cat key.json | docker login \
--username json_key \
--password-stdin \
cr.yandex
- Подтяните образы с Docker registry
shell
docker-compose -f docker-compose.yml pull
Подсказка
Все процедуры, связанные с вызовом docker-compose, следует выполнять в папке с файлом docker-compose.yml
- Создайте папку
/sboard/certs
shell
mkdir /sboard/certs
- Положите актуальные SSL сертификат и ключ в папку
/sboard/certs
Уточнение
Названия файлов должны быть вида:
Сертификат - public.crt
Ключ - private.key
- Запустите docker-compose
shell
docker-compose -f docker-compose.yml up -d --force-recreate