This deploys, works. Now, to figure out the WWW hosting and see if the admin API is secure.
34 lines
1.2 KiB
Bash
34 lines
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
# /app/data gets mounted by Cloudron.
|
|
# Any files there at image creation time will disappear.
|
|
# So, copy things in from elsewhere if they're needed at startup.
|
|
|
|
if [[ ! -f /app/data/.initialized ]]; then
|
|
echo "Fresh installation, setting up data directory..."
|
|
# Setup commands here
|
|
touch /app/data/.initialized
|
|
|
|
# Make the working directories for garage. Files will get stored here.
|
|
mkdir -p /app/data/garage/meta
|
|
mkdir -p /app/data/garage/data
|
|
|
|
# Copy the config in. This is symlinked from /etc.
|
|
# cp /garage/garage.toml /app/data/garage.toml
|
|
# Note: it templates in the domain, which needs to be substituted at this point.
|
|
# If the end-user moves the domain... this will break.
|
|
sed -e 's/CLOUDRON_APP_DOMAIN/'"${CLOUDRON_APP_DOMAIN}"'/g' /garage/garage.toml > /app/data/garage.toml
|
|
|
|
# Generate an RPC secret file. This is used for clusters.
|
|
# We don't have clusters, but garage wantses it.
|
|
# It is precious to garage.
|
|
openssl rand -hex 32 > /app/data/garage/rpc-secret
|
|
chmod 600 /app/data/garage/rpc-secret
|
|
|
|
echo "Done with one-time init."
|
|
fi
|
|
|
|
# Chown the things and run.
|
|
chown -R cloudron:cloudron /app/data/garage
|
|
gosu cloudron:cloudron /usr/bin/garage server
|