diff --git a/backend/backend.dockerfile b/backend/backend.dockerfile new file mode 100644 index 00000000..53cb0381 --- /dev/null +++ b/backend/backend.dockerfile @@ -0,0 +1,15 @@ +FROM python:3.10 + +WORKDIR /backend + +COPY ./requirements.txt /backend/requirements.txt + +RUN pip install --no-cache-dir --upgrade -r /backend/requirements.txt + +COPY ./alembic.ini /backend/alembic.ini +COPY ./alembic /backend/alembic +COPY ./app /backend/app + +ENV PYTHONPATH=/backend/app + +CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "80"] diff --git a/backend/scripts/docker-build-backend.sh b/backend/scripts/docker-build-backend.sh new file mode 100755 index 00000000..ea8d1ca9 --- /dev/null +++ b/backend/scripts/docker-build-backend.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P ) +pushd $parent_path + +docker build ../../backend -f ../backend.dockerfile -t ocgpt-backend + +popd diff --git a/backend/scripts/docker-run-backend.sh b/backend/scripts/docker-run-backend.sh new file mode 100755 index 00000000..eba4b225 --- /dev/null +++ b/backend/scripts/docker-run-backend.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +# This script launches a ocgpt-backend docker container stand-alone. + +docker run -it --rm -p 127.0.0.1:8000:80/tcp --env POSTGRES_SERVER=host.docker.internal:5432 --env ALLOW_ANY_API_KEY=True --add-host host.docker.internal:host-gateway ocgpt-backend diff --git a/backend/scripts/run-local.sh b/backend/scripts/run-local.sh index bf45e870..871dd85e 100755 --- a/backend/scripts/run-local.sh +++ b/backend/scripts/run-local.sh @@ -1,5 +1,11 @@ #!/usr/bin/env bash +parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P ) + +# switch to backend directory +pushd "$parent_path/../" export ALLOW_ANY_API_KEY=True uvicorn app.main:app --reload + +popd