Установка проекта
Для работоспособности нужно создать 5 DNS записи
api.${CLIENT_DOMAIN}
web.${CLIENT_DOMAIN}
storage.${CLIENT_DOMAIN}
id.${CLIENT_DOMAIN}
root.${CLIENT_DOMAIN}
- Качаем репозиторий
git clone https://github.com/addreality/apps.git
cd apps
- Устанавливаем БД и docker и docker-compose
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt install postgresql-12 -y \
&& curl -fsSL https://get.docker.com -o get-docker.sh \
&& sh get-docker.sh
Linux
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Настраиваем postgresql для того что бы он слушал на нужном нам порту и с нужных адресов.
sudo echo "listen_addresses = '0.0.0.0'" >> /etc/postgresql/12/main/postgresql.conf
sudo sed -i "s/127.0.0.1/0.0.0.0/g" /etc/postgresql/12/main/pg_hba.conf
sudo sed -i "s/32/0/g" /etc/postgresql/12/main/pg_hba.conf
Перезагружаем и проверяем что все поднялось и айпишник который мы вписывали слушает порт.
sudo systemctl restart postgresql
sudo systemctl status postgresql
netstat -tulpn
- Подключаемся к БД создаем базу, пользователя для приложени и включаем нужный экстеншен.
Переходим под пользователя postgres и создаем пользователя для работы приложения.
su postgres
createuser --interactive --pwprompt #В интерактивном меню вводим имя - ar_user, пароль 2 раза, жмем Y.
Создаем базу данных
createdb -O ar_user ar_db;
ctrl + d #выходим из под пользователя postgres
- Заполняем конфигурационный файл для миграций и применяем их.
nano migrations/core/dbconfig.yml
docker run --rm -it -v "$PWD"/migrations/core:/tmp -w /tmp visheyra/sql-migrate-docker #Проверить список миграций и то что подключение к БД настроено правильно
docker run --rm -it -v "$PWD"/migrations/core:/tmp -w /tmp visheyra/sql-migrate-docker up #Применить миграции
docker run --rm -it -v "$PWD"/migrations/core:/tmp -w /tmp visheyra/sql-migrate-docker #Проверить список миграций
- Объявляем переменную и подставляем в конфиг для Nginx домен клиента и по каком протоколу будет работать приложение http или https(В этом лучае у вас должны быть сертификаты для добавления их в конфигурацию Nginx)
export CLIENT_DOMAIN=
export PROTOCOL= #http или https
- Корректируем скрипт под наши требования, первым делом выставляем домен клиента, потом заходим в скрипт и выставляем лимит на дисковое пространство для контента.
По умолчанию при создании платформы она имеет следующие логин и пароль.
платформа: web
l: user@${CLIENT_DOMAIN}
p: 123456
sed -i "s/#DOMAIN/${CLIENT_DOMAIN}/g" ./scripts/create_platform.sql
nano ./scripts/create_platform.sql # disk_space_limit=207374182400 (Указывается в байтах); -- 200GB
- Применяем скрипт
su postgres
psql -d ar_db -f scripts/create_platform.sql;
ctrl + d #выходим из под пользователя postgres
- Подставляем в конфиги Nginx домен клиента
sed -i "s/#DOMAIN/${CLIENT_DOMAIN}/g" ./proxy/conf.d/*
- Подставляем в конфиги приложения домен клиента
sed -i "s/#DOMAIN/${CLIENT_DOMAIN}/g" ./web/constants.js
sed -i "s/#DOMAIN/${CLIENT_DOMAIN}/g" ./admin/config.json
sed -i "s/#DOMAIN/${CLIENT_DOMAIN}/g" ./ucp/constants.json
sed -i "s/#DOMAIN/${CLIENT_DOMAIN}/g" ./api/config.toml
sed -i "s/#PROTOCOL/${PROTOCOL}/g" ./web/constants.js
sed -i "s/#PROTOCOL/${PROTOCOL}/g" ./admin/config.json
sed -i "s/#PROTOCOL/${PROTOCOL}/g" ./ucp/constants.json
sed -i "s/#PROTOCOL/${PROTOCOL}/g" ./api/config.toml
- Заполняем конфиг для API Нужно обратить внимание на секции
[db.pgsql]
[app.security.cors]
[host]
[mail]
[notification.order]
[rabbitmq]
[redis]
nano ./api/config.toml
- Копируем файл с клиентсокой лицензией в папку api файл должен называтся именно license.key
cp license.key ./api/license.key
- Логинимся для скачивание докер образов с registry, запускаем проект и качаем контейнеры.
docker login sphere.azurecr.io -u c269884a-a995-4fa0-ad41-373ab8346560 -p vH~6pZgbK1B~kL0Z_Zl3Wmo8hrM~O~6Qpb
docker-compose up -d
docker logout sphere.azurecr.io
Команда для применения миграций для Clickhouse
docker-compose run -w /addreality/migrations/click/ --rm api gsmigrate --drv="clickhouse" --dsn="tcp://10.0.0.18:9000?username=ar_user_click&database=ar_db_click&password=3123dasdjDDHHDH" status
Если клиент хочет использовать HTTPS дополнительно нужно будет сделать следующие настройки.
Копируем ключ и сертификат клиента как домен и добовляем в папочку certs если клиент будет использовать протокол https
mkdir ./proxy/certs
cp ./сертификат ./proxy/certs/${CLIENT_DOMAIN}.crt
cp ./ключ ./proxy/certs/${CLIENT_DOMAIN}.key
Если мы используем HTTPS берем готовые конфиги под ssl Nginx из папки conf.d-ssl и переименовываем ее в conf.d
mv ./proxy/conf.d-ssl ./proxy/conf.d
sed -i "s/#DOMAIN/${CLIENT_DOMAIN}/g" ./proxy/conf.d/*
Открыть 443 порт в docker-compose для nginx
nano docker-compose.yml
Комментарии
0 комментариев
Войдите в службу, чтобы оставить комментарий.