pleroma-docker/entrypoint.ash

56 lines
976 B
Plaintext
Raw Normal View History

2018-04-07 20:29:55 +00:00
#!/bin/ash
set -e
2018-04-09 09:55:52 +00:00
function compile {
# Make sure that the tooling is present
2018-04-09 10:17:46 +00:00
if [[ ! -d /mix-archives/hex-* ]] || [[ ! -f /mix/rebar ]] || [[ ! -f /mix/rebar3 ]]; then
mix local.hex --force
mix local.rebar --force
fi
2018-04-09 09:55:52 +00:00
# Recompile
mix deps.get
mix compile
}
# Execute onbuild actions if required
if [[ "$1" == "onbuild" ]]; then
2018-04-09 10:17:46 +00:00
# Pretend we're in runtime mode
mv /pleroma /pleroma-runtime
cd /pleroma-runtime
# Build pleroma
2018-04-09 09:55:52 +00:00
compile
2018-04-09 10:17:46 +00:00
# Put precompiled sources back
cd /
mv /pleroma-runtime /pleroma
2018-04-09 09:55:52 +00:00
exit 0
fi
2018-04-08 20:49:07 +00:00
# Ensure that the environment is clean
if [[ -d /pleroma-runtime ]]; then
rm -rf /pleroma-runtime
2018-04-07 20:29:55 +00:00
fi
2018-04-08 20:49:07 +00:00
mkdir /pleroma-runtime
2018-04-07 20:29:55 +00:00
2018-04-08 20:49:07 +00:00
# Copy sources
rsync -azI /pleroma/ /pleroma-runtime/
2018-04-08 14:15:44 +00:00
2018-04-08 20:49:07 +00:00
# Copy overrides
rsync -azI /custom.d/ /pleroma-runtime/
# Go to runtime workspace
cd /pleroma-runtime
2018-04-09 09:55:52 +00:00
# Build
compile
2018-04-08 20:49:07 +00:00
# Prepare DB
mix ecto.create
mix ecto.migrate
2018-04-07 20:29:55 +00:00
2018-04-08 20:49:07 +00:00
# Liftoff o/
exec mix phx.server