27 lines
1.2 KiB
Bash
Executable File
27 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eu
|
|
|
|
mkdir -p /app/data/data /run/minio/config /run/minio/certs
|
|
|
|
[[ ! -f /app/data/env.sh ]] && cp /app/code/env.sh /app/data/env.sh
|
|
source /app/data/env.sh
|
|
|
|
# https://docs.min.io/minio/baremetal/reference/minio-server/minio-server.html#envvar.MINIO_SERVER_URL
|
|
[[ -n "${API_SERVER_DOMAIN:-}" ]] && 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
|
|
|
|
# the --config-dir is deprecated and not used. but without it, minio will try to create $HOME/.minio :/ same for --certs-dir
|
|
echo "==> Starting minio"
|
|
exec /usr/local/bin/gosu cloudron:cloudron /app/code/minio --certs-dir /run/minio/certs --config-dir /run/minio/config --quiet ${CLOUDRON_MINIO_STARTUP_ARGS} --address :9000 --console-address :8000
|
|
|