This commit is contained in:
Eden Kirin
2023-04-21 10:23:17 +02:00
parent aac949275d
commit 53dbc47553
3 changed files with 76 additions and 0 deletions

9
.docker/run.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/sh
echo "Hello world!"
echo "Press [CTRL+C] to stop.."
while :
do
sleep 1
done

32
Dockerfile Normal file
View File

@ -0,0 +1,32 @@
FROM python:3.10.11-alpine3.17
ARG INTERNAL_API_PORT
ARG INTERNAL_WS_PORT
RUN \
pip install pip -U && \
pip install poetry --no-cache-dir
WORKDIR /app
COPY pyproject.toml .
COPY poetry.lock .
# create virtual environment
RUN python -m venv /venv
# set python thingies and activate virtual environment
ENV \
PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PATH="/venv/bin:$PATH"
RUN \
# dump python dependencies into requirements file
poetry export --without-hashes --format=requirements.txt > requirements.txt && \
# install python libs
pip install -r requirements.txt --no-cache-dir --prefer-binary
COPY ./.docker/run.sh .
COPY ./hopper ./service
ENTRYPOINT [ "/app/run.sh" ]

View File

@ -1,3 +1,11 @@
IMAGE_NAME=fairhopper-service
CONTAINER_NAME=fairhopper-service
INTERNAL_API_PORT=8010
INTERNAL_WS_PORT=8011
EXTERNAL_API_PORT=8010
EXTERNAL_WS_PORT=8011
run:
@poetry run \
uvicorn \
@ -20,3 +28,30 @@ create-requirements:
--without-hashes \
--format=requirements.txt \
> requirements.txt
docker-clean:
@echo "> Removing container $(CONTAINER_NAME)"
- @docker rm $(CONTAINER_NAME)
@echo "> Removing image $(CONTAINER_NAME)"
- @docker image rm $(CONTAINER_NAME)
docker-build:
@docker \
build . \
--build-arg INTERNAL_API_PORT=$(INTERNAL_API_PORT) \
--build-arg INTERNAL_WS_PORT=$(INTERNAL_WS_PORT) \
-t $(CONTAINER_NAME)
docker-run:
@docker \
run \
--publish $(EXTERNAL_API_PORT):$(INTERNAL_API_PORT) \
--publish $(EXTERNAL_WS_PORT):$(INTERNAL_WS_PORT) \
--name=$(CONTAINER_NAME) \
$(IMAGE_NAME) \
--detach
docker-clean-build:
make clean
make build