Skip to content
Snippets Groups Projects
Commit dbf7063f authored by Karel van Klink's avatar Karel van Klink :smiley_cat:
Browse files

update Dockerfile

- move to alpine-based image for reduced size
- apk add requirements
- pip install to target dir in /app
- add translations as environment variable
- automatically install all required database migrations
parent a12dffef
No related branches found
No related tags found
1 merge request!90include TRANSLATIONS_DIR as environment variable in the Docker image
FROM python:3.11
FROM python:3.11-alpine
ARG ARTIFACT_VERSION
RUN apk add gcc libc-dev libffi-dev
RUN pip install \
--pre \
--extra-index-url https://artifactory.software.geant.org/artifactory/api/pypi/geant-swd-pypi/simple \
--target /app \
geant-service-orchestrator==${ARTIFACT_VERSION}
WORKDIR /app
# Create the directory for the configuration and copy the example config into it
# NOTE: a real config must be mounted at /etc/gso/config.json when running the container
RUN mkdir -p /etc/gso
......@@ -19,7 +23,12 @@ EXPOSE 8080
# No need to set environment variables in your docker-compose.
ENV OSS_PARAMS_FILENAME=/etc/gso/config.json
# Set the environment variable for the translations directory
ENV TRANSLATIONS_DIR=$(python3 -c "from os import path; import gso; print(path.join(path.split(gso.__file__)[0], 'translations'))" | tail -n 1)
ENV TRANSLATIONS_DIR=/app/gso/translations/
# Run database migrations
RUN mv gso/migrations gso/migrations_temp
RUN PYTHONPATH=. python gso/main.py db init
RUN rm -rf gso/migrations && mv gso/migrations_temp gso/migrations
RUN PYTHONPATH=. python gso/main.py db upgrade heads
# Start the FastAPI application
CMD ["uvicorn", "gso.main:app", "--host", "0.0.0.0", "--port", "8080"]
CMD ["python", "-m", "uvicorn", "gso.main:app", "--host", "0.0.0.0", "--port", "8080"]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment