1
0
mirror of https://git.cloudron.io/cloudron/minio-app synced 2025-09-21 04:27:33 +00:00
Files
minio-app/start.sh
2025-06-02 17:58:16 +02:00

32 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -eu
mkdir -p /app/data/data /run/minio/config /run/minio/certs
# env vars take precedence over config.yaml (https://github.com/minio/minio/blob/master/docs/distributed/CONFIG.md#things-to-know)
if [[ ! -f /app/data/env.sh ]]; then
echo "=> First run"
cp /app/code/env.sh.template /app/data/env.sh
echo -e "export MINIO_ROOT_USER=minioadmin\nexport MINIO_ROOT_PASSWORD=minioadmin\n\n" >> /app/data/env.sh
fi
source /app/data/env.sh
# https://docs.min.io/minio/baremetal/reference/minio-server/minio-server.html#envvar.MINIO_SERVER_URL
export MINIO_SERVER_URL="https://${API_SERVER_DOMAIN}"
export MINIO_BROWSER_REDIRECT_URL="https://${CLOUDRON_APP_DOMAIN}"
if [[ ! -d /app/data/mc_config ]]; then
mkdir -p /app/data/mc_config
/app/code/mc --config-dir /app/data/mc_config &> /dev/null || true
fi
# minio is used for backups at times and has a large number of files. optimize by checking if files are actually in correct chown state
echo "==> Changing ownership"
[[ $(stat --format '%U' /app/data/data) != "cloudron" ]] && chown -R cloudron:cloudron /app/data
echo "==> Starting minio"
exec /usr/local/bin/gosu cloudron:cloudron /app/code/minio --quiet ${CLOUDRON_MINIO_STARTUP_ARGS} --address :9000 --console-address :8000