entrypoint-alpine.sh 1.1 KB

12345678910111213141516171819202122232425262728
  1. #!/usr/bin/env bash
  2. SFTPGO_PUID=${SFTPGO_PUID:-1000}
  3. SFTPGO_PGID=${SFTPGO_PGID:-1000}
  4. if [ "$1" = 'sftpgo' ]; then
  5. if [ "$(id -u)" = '0' ]; then
  6. for DIR in "/etc/sftpgo" "/var/lib/sftpgo" "/srv/sftpgo"
  7. do
  8. DIR_UID=$(stat -c %u ${DIR})
  9. DIR_GID=$(stat -c %g ${DIR})
  10. if [ ${DIR_UID} != ${SFTPGO_PUID} ] || [ ${DIR_GID} != ${SFTPGO_PGID} ]; then
  11. echo '{"level":"info","time":"'`date +%Y-%m-%dT%H:%M:%S.000`'","sender":"entrypoint","message":"change owner for \"'${DIR}'\" UID: '${SFTPGO_PUID}' GID: '${SFTPGO_PGID}'"}'
  12. if [ ${DIR} = "/etc/sftpgo" ]; then
  13. chown -R ${SFTPGO_PUID}:${SFTPGO_PGID} ${DIR}
  14. else
  15. chown ${SFTPGO_PUID}:${SFTPGO_PGID} ${DIR}
  16. fi
  17. fi
  18. done
  19. echo '{"level":"info","time":"'`date +%Y-%m-%dT%H:%M:%S.000`'","sender":"entrypoint","message":"run as UID: '${SFTPGO_PUID}' GID: '${SFTPGO_PGID}'"}'
  20. exec su-exec ${SFTPGO_PUID}:${SFTPGO_PGID} "$@"
  21. fi
  22. exec "$@"
  23. fi
  24. exec "$@"