Used https://github.com/openfun/joanie as boilerplate, ran a few transformations with ChapGPT and adapted models and endpoints to fit to my current vision of the project.
36 lines
1.3 KiB
Bash
Executable File
36 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# The container user (see USER in the Dockerfile) is an un-privileged user that
|
|
# does not exists and is not created during the build phase (see Dockerfile).
|
|
# Hence, we use this entrypoint to wrap commands that will be run in the
|
|
# container to create an entry for this user in the /etc/passwd file.
|
|
#
|
|
# The following environment variables may be passed to the container to
|
|
# customize running user account:
|
|
#
|
|
# * USER_NAME: container user name (default: default)
|
|
# * HOME : container user home directory (default: none)
|
|
#
|
|
# To pass environment variables, you can either use the -e option of the docker run command:
|
|
#
|
|
# docker run --rm -e USER_NAME=foo -e HOME='/home/foo' people:latest python manage.py migrate
|
|
#
|
|
# or define new variables in an environment file to use with docker or docker compose:
|
|
#
|
|
# # env.d/production
|
|
# USER_NAME=foo
|
|
# HOME=/home/foo
|
|
#
|
|
# docker run --rm --env-file env.d/production people:latest python manage.py migrate
|
|
#
|
|
|
|
echo "🐳(entrypoint) creating user running in the container..."
|
|
if ! whoami > /dev/null 2>&1; then
|
|
if [ -w /etc/passwd ]; then
|
|
echo "${USER_NAME:-default}:x:$(id -u):$(id -g):${USER_NAME:-default} user:${HOME}:/sbin/nologin" >> /etc/passwd
|
|
fi
|
|
fi
|
|
|
|
echo "🐳(entrypoint) running your command: ${*}"
|
|
exec "$@"
|