FROM python:3.11-alpine WORKDIR /app ARG ARTIFACT_VERSION RUN apk add --no-cache gcc libc-dev libffi-dev && \ addgroup -S appgroup && adduser -S appuser -G appgroup -h /app 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} # 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 && \ chown -R appuser:appgroup /etc/gso COPY --chown=appuser:appgroup gso/oss-params-example.json /app/config.json # The app reads the configuration from this location. # No need to set environment variables in your docker-compose. ENV OSS_PARAMS_FILENAME=/app/config.json # Set the environment variable for the translations directory ENV TRANSLATIONS_DIR=/app/gso/translations/ COPY --chown=appuser:appgroup --chmod=755 entrypoint.sh /app/entrypoint.sh USER appuser EXPOSE 8080 ENTRYPOINT ["/app/entrypoint.sh"]