commit 76ebd3f273e89ecb2a2c4f52078d4a36e4a39726 Author: Oleg Sheynin Date: Tue Jan 16 18:51:11 2024 -0500 separate repo diff --git a/config_service/Dockerfile b/config_service/Dockerfile new file mode 100644 index 0000000..8d0c46b --- /dev/null +++ b/config_service/Dockerfile @@ -0,0 +1,22 @@ +FROM python:3.10-slim + +WORKDIR / +COPY cvttpy/utils/docker/config_service/requirements.txt / +RUN pip install --upgrade pip +RUN pip install -r /requirements.txt + +COPY cvttpy /cvttpy + +# Shared Volumes +RUN mkdir -p /app/data +RUN mkdir /logs + +ENV PYTHONPATH=/ +CMD [ \ + "python3.10", \ + "cvttpy/apps/utils/config_server.py", \ + "--port=6789", \ + "--root=/app/data", \ + "--log_file=/logs/%T.config_service.log" \ +] + diff --git a/config_service/HOWTO.md b/config_service/HOWTO.md new file mode 100644 index 0000000..bc117c9 --- /dev/null +++ b/config_service/HOWTO.md @@ -0,0 +1,42 @@ +# Build/Dev Host +## Build +```bash +TgtHostname=cloud16.cvtt.vpn +Version=$(cat cvttpy/release_version.txt) + +cd /home/oleg/develop/cvtt2 +docker build -t config_service -t config_service:${Version} -f cvttpy/utils/docker/config_service/Dockerfile . + +## Deploy + +docker save -o /tmp/cvtt_config_service.img.tar config_service +scp /tmp/cvtt_config_service.img.tar cvtt@${TgtHostname}:/tmp/ + +ssh cvtt@${TgtHostname} +``` + +## On target Machine make sure user can use docker +```bash +sudo usermod -a -G docker cvtt +``` +**Re-login as cvtt after adding cvtt to the group** + +```bash +docker rm -f cvtt_config_service +docker load -i /tmp/cvtt_config_service.img.tar +docker run -d --name=cvtt_config_service -p 6789:6789 -v /home/cvtt/prod/config_service/data:/app/data -v /home/cvtt/prod/logs:/logs config_service +``` + +## Restarting +```bash +docker restart cvtt_config_service +``` + +# Useful Commands +```bash +docker images +docker ps -a +docker image rm +docker rm +docker exec -it /bin/bash +``` \ No newline at end of file diff --git a/config_service/requirements.txt b/config_service/requirements.txt new file mode 100644 index 0000000..173b431 --- /dev/null +++ b/config_service/requirements.txt @@ -0,0 +1,2 @@ +aiohttp>=3.7.4.post0 +nest-asyncio>=1.5.5 \ No newline at end of file diff --git a/executor/.creds b/executor/.creds new file mode 100644 index 0000000..d8d269b --- /dev/null +++ b/executor/.creds @@ -0,0 +1,15 @@ +{ + "COINBASE_ADV_TRD": { + "api_key": "nKIyZxS95J4MsY4N" + , "secret_key": "sih7Txx3htlTWJrQ3EiuRS3qRfv7qZ4P" + , "account_uuid": "???" + , "book_id": "CVTT_BK01" + } + , "COINBASE_ADV_RO": { + "api_key": "Ip4QpRtRHBmWNpc3" + , "secret_key": "N6ZEMdIdUYUldkJRTUcCRKUFot4Fp2j0" + , "account_uuid": "???" + , "book_id": "CVTT_BK01" + } + +} diff --git a/executor/Dockerfile b/executor/Dockerfile new file mode 100644 index 0000000..bc25448 --- /dev/null +++ b/executor/Dockerfile @@ -0,0 +1,26 @@ +FROM python:3.10-slim + +WORKDIR / +COPY docker_dev/executor/requirements.txt / + +RUN pip install --upgrade pip +RUN pip install -r /requirements.txt + +# RUN apt-get install telnet + +COPY cvttpy /cvttpy +COPY docker_dev/executor/.creds /.creds + +RUN mkdir /logs + +ENV PYTHONPATH=/ +CMD [ \ + "python3.10", \ + "cvttpy/apps/executor_app.py", \ + "--config=http://cloud16.cvtt.vpn:6789/apps/cvtt", \ + "--admin_port=7220", \ + "--active_exchanges=COINBASE_AT", \ + "--credentials_file=/.creds", \ + "--log_file=/logs/%T.EXECUTOR_APP.log" \ +] + diff --git a/executor/build.sh b/executor/build.sh new file mode 100755 index 0000000..88c9890 --- /dev/null +++ b/executor/build.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +function usage { + echo "Usage: ${0} " + exit +} + +TgtHostname=${1} + +if [ "${TgtHostname}" == "" ] +then + usage +fi + +# --- Settings + +DockerDir=$(dirname ${0}) +RootDir=${DockerDir}/../.. + +cd ${RootDir} + +ImageName=cvtt_executor +ImageDir=${HOME}/docker_images +mkdir -p ${ImageDir} + +TgtImageDir=/home/cvtt/docker_images + +Version=$(cat ${RootDir}/cvttpy/release_version.txt) + +Cmd="docker build -t ${ImageName} -t ${ImageName}:${Version} -f ${DockerDir}/Dockerfile ." +echo ${Cmd} +eval ${Cmd} + +Cmd="docker save -o ${ImageDir}/${ImageName}.img.tar ${ImageName}" +echo ${Cmd} +eval ${Cmd} + + +Cmd="ssh cvtt@${TgtHostname} \"mkdir -p ${TgtImageDir}\"" +echo ${Cmd} +eval ${Cmd} + +Cmd="scp ${ImageDir}/${ImageName}.img.tar cvtt@${TgtHostname}:${TgtImageDir}/" +echo ${Cmd} +eval ${Cmd} + diff --git a/executor/deploy.sh b/executor/deploy.sh new file mode 100755 index 0000000..9e9e11c --- /dev/null +++ b/executor/deploy.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# ===== MUST RUN ON TARGET HOST + +ImageName=cvtt_executor +ImageDir=/home/cvtt/docker_images + +AdminPort=7220 +LogDir=/home/cvtt/prod/logs + +mkdir -p ${LogDir} + +docker image rm -f ${ImageName} +docker rm -f ${ImageName} +docker load -i ${ImageDir}/${ImageName}.img.tar +docker run -d --name=${ImageName} -p ${AdminPort}:${AdminPort} -v ${LogDir}:/logs ${ImageName} + diff --git a/executor/requirements.txt b/executor/requirements.txt new file mode 100644 index 0000000..9c3895b --- /dev/null +++ b/executor/requirements.txt @@ -0,0 +1,6 @@ +aiohttp>=3.7.4.post0 +aioredis>=2.0.1 +nest-asyncio>=1.5.5 +hjson>=3.1.0 +sortedcontainers>=2.4.0 +pandas>=1.5.3