From 479e5072d2600d58bf03934e964c30ed3493ef80 Mon Sep 17 00:00:00 2001 From: Mark Veidemanis Date: Fri, 29 Jul 2022 08:01:48 +0100 Subject: [PATCH] Create separate production configuration --- .env.example | 13 +++++++++++ docker-compose.yml | 6 ++++-- Dockerfile => docker/Dockerfile | 4 ++-- docker/docker-compose.prod.yml | 38 +++++++++++++++++++++++++++++++++ docker/requirements.prod.txt | 9 ++++++++ requirements.txt | 1 + 6 files changed, 67 insertions(+), 4 deletions(-) create mode 100644 .env.example rename Dockerfile => docker/Dockerfile (64%) create mode 100644 docker/docker-compose.prod.yml create mode 100644 docker/requirements.prod.txt diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..cdc5bd8 --- /dev/null +++ b/.env.example @@ -0,0 +1,13 @@ +THRESHOLD_LISTENER_HOST=0.0.0.0 +THRESHOLD_LISTENER_PORT=13867 +THRESHOLD_LISTENER_SSL=1 + +THRESHOLD_RELAY_ENABLED=1 +THRESHOLD_RELAY_HOST=0.0.0.0 +THRESHOLD_RELAY_PORT=13868 +THRESHOLD_RELAY_SSL=1 + +THRESHOLD_API_ENABLED=1 +THRESHOLD_API_HOST=0.0.0.0 +THRESHOLD_API_PORT=13869 +PORTAINER_GIT_DIR=. \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 1982dee..b7df7de 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ version: "2" services: app: image: pathogen/threshold - build: . + build: ./docker volumes: - ${PORTAINER_GIT_DIR}:/code ports: @@ -11,10 +11,12 @@ services: - "${THRESHOLD_RELAY_PORT}:${THRESHOLD_RELAY_PORT}" - "${THRESHOLD_API_PORT}:${THRESHOLD_API_PORT}" env_file: - - stack.env + - .env # for development extra_hosts: - "host.docker.internal:host-gateway" + volumes_from: + - tmp tmp: image: busybox diff --git a/Dockerfile b/docker/Dockerfile similarity index 64% rename from Dockerfile rename to docker/Dockerfile index 6c63843..f89ac37 100644 --- a/Dockerfile +++ b/docker/Dockerfile @@ -12,7 +12,7 @@ USER pathogen ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 WORKDIR /code -COPY requirements.txt /code/ +COPY requirements.prod.txt /code/ RUN python -m venv /venv -RUN . /venv/bin/activate && pip install -r requirements.txt +RUN . /venv/bin/activate && pip install -r requirements.prod.txt CMD . /venv/bin/activate && exec python /code/threshold \ No newline at end of file diff --git a/docker/docker-compose.prod.yml b/docker/docker-compose.prod.yml new file mode 100644 index 0000000..b7df7de --- /dev/null +++ b/docker/docker-compose.prod.yml @@ -0,0 +1,38 @@ +version: "2" + +services: + app: + image: pathogen/threshold + build: ./docker + volumes: + - ${PORTAINER_GIT_DIR}:/code + ports: + - "${THRESHOLD_LISTENER_PORT}:${THRESHOLD_LISTENER_PORT}" + - "${THRESHOLD_RELAY_PORT}:${THRESHOLD_RELAY_PORT}" + - "${THRESHOLD_API_PORT}:${THRESHOLD_API_PORT}" + env_file: + - .env + # for development + extra_hosts: + - "host.docker.internal:host-gateway" + volumes_from: + - tmp + + tmp: + image: busybox + command: chmod -R 777 /var/run/redis + volumes: + - /var/run/redis + + redis: + image: redis + command: redis-server /etc/redis.conf + volumes: + - ./docker/redis.conf:/etc/redis.conf + volumes_from: + - tmp + +networks: + default: + external: + name: pathogen \ No newline at end of file diff --git a/docker/requirements.prod.txt b/docker/requirements.prod.txt new file mode 100644 index 0000000..5f94628 --- /dev/null +++ b/docker/requirements.prod.txt @@ -0,0 +1,9 @@ +wheel +twisted +pyOpenSSL +redis +pyYaML +python-logstash +service_identity +csiphash +Klein diff --git a/requirements.txt b/requirements.txt index 375a8eb..f6a2dcf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ +wheel pre-commit twisted pyOpenSSL