su forge -s /bin/sh -c 'exec "$@"' -- "$@" didn't forward gunicorn's argv correctly with this image's su, so the container never actually started gunicorn — Caddy then had nothing to proxy to (502). Flatten the command into a single string via "$*" instead.
15 lines
659 B
Bash
15 lines
659 B
Bash
#!/bin/sh
|
|
# Un volume Docker nommé (ex: forge_projects, voir docker-compose.prod.yml)
|
|
# est créé par Docker lui-même, propriété de root, AVANT que le conteneur ne
|
|
# démarre — le "chown" fait au build de l'image (voir Dockerfile) n'a donc
|
|
# aucun effet dessus une fois monté par-dessus /app/projects. On corrige ici,
|
|
# à chaque démarrage (idempotent, sans risque à répéter), puis on abandonne
|
|
# les privilèges root pour lancer le vrai serveur en tant qu'utilisateur
|
|
# "forge" — ce script tourne donc brièvement en root, uniquement pour ça.
|
|
set -e
|
|
|
|
mkdir -p /app/projects
|
|
chown -R forge:forge /app/projects
|
|
|
|
exec su forge -s /bin/sh -c "$*"
|