Skip to content
Snippets Groups Projects

include TRANSLATIONS_DIR as environment variable in the Docker image

Merged Karel van Klink requested to merge feature/update-dockerfile into develop
1 file
+ 12
3
Compare changes
  • Side-by-side
  • Inline
  • dbf7063f
    update Dockerfile · dbf7063f
    Karel van Klink authored
    - 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
+ 12
3
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,0+23,0 @@
# 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"]
Loading