2017-01-24 06:06:51 +00:00
#!/bin/bash
set -eu
2020-01-16 22:46:41 +00:00
mkdir -p /app/data/data /run/minio/config /run/minio/certs
2017-01-24 06:06:51 +00:00
2020-09-11 19:34:40 +00:00
# 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
2020-01-16 22:46:41 +00:00
echo "==> Changing ownership"
2020-09-11 19:34:40 +00:00
[ [ $( stat --format '%U' /app/data/data) != "cloudron" ] ] && chown -R cloudron:cloudron /app/data
2019-01-22 23:29:43 +00:00
2022-01-21 21:11:25 +00:00
# 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 } "
2021-07-11 20:15:23 +00:00
if [ [ ! -f /app/data/env.sh ] ] ; then
echo -e "# Add custom minio configuration to this file. Restart the app for changes to take effect.\n\nexport CLOUDRON_MINIO_STARTUP_ARGS='server /app/data/data'" > /app/data/env.sh
fi
2020-10-03 20:03:47 +00:00
2021-07-11 20:56:59 +00:00
if [ [ ! -d /app/data/mc_config ] ] ; then
echo "==> Set /app/data/mc default config dir"
mkdir -p /app/data/mc_config
/app/code/mc --config-dir /app/data/mc_config & > /dev/null || true
fi
2020-10-03 20:03:47 +00:00
source /app/data/env.sh
2020-01-16 22:46:41 +00:00
# the --config-dir is deprecated and not used. but without it, minio will try to create $HOME/.minio :/ same for --certs-dir
2022-01-21 21:11:25 +00:00
# MinIO Console is an embedded web-based object browser built into MinIO Server
2020-01-16 22:46:41 +00:00
echo "==> Starting minio"
2022-01-21 21:11:25 +00:00
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