2019-01-10 18:03:52 +00:00
|
|
|
#!/bin/ash
|
|
|
|
# shellcheck shell=dash
|
2018-08-20 21:06:34 +00:00
|
|
|
|
|
|
|
set -e
|
|
|
|
|
2019-08-25 21:29:34 +00:00
|
|
|
log() {
|
|
|
|
echo -e "\n#> $@\n" 1>&2
|
|
|
|
}
|
|
|
|
|
2019-01-10 18:03:52 +00:00
|
|
|
if [ -n "$BUILDTIME" ]; then
|
2019-08-25 21:29:34 +00:00
|
|
|
log "Getting rebar..."
|
2019-01-09 20:23:53 +00:00
|
|
|
mix local.rebar --force
|
2019-08-25 20:39:22 +00:00
|
|
|
|
2019-08-25 21:29:34 +00:00
|
|
|
log "Getting hex..."
|
2019-01-09 20:23:53 +00:00
|
|
|
mix local.hex --force
|
2018-12-24 22:20:17 +00:00
|
|
|
|
2019-08-25 21:29:34 +00:00
|
|
|
log "Getting dependencies..."
|
2018-12-24 22:20:17 +00:00
|
|
|
mix deps.get
|
2019-08-25 20:39:22 +00:00
|
|
|
|
2019-08-25 21:29:34 +00:00
|
|
|
log "Precompiling..."
|
2018-12-24 22:20:17 +00:00
|
|
|
mix compile
|
2018-12-30 13:30:36 +00:00
|
|
|
exit 0
|
2018-12-24 22:20:17 +00:00
|
|
|
fi
|
|
|
|
|
2019-08-25 21:29:34 +00:00
|
|
|
log "Syncing changes and patches..."
|
2019-01-10 18:49:47 +00:00
|
|
|
rsync -av /custom.d/ /home/pleroma/pleroma/
|
|
|
|
|
2019-08-25 21:29:34 +00:00
|
|
|
log "Recompiling..."
|
2019-01-10 18:49:47 +00:00
|
|
|
mix compile
|
|
|
|
|
2019-08-25 21:29:34 +00:00
|
|
|
log "Waiting for postgres..."
|
2019-01-10 18:32:40 +00:00
|
|
|
while ! pg_isready -U pleroma -d postgres://db:5432/pleroma -t 1; do
|
|
|
|
sleep 1s
|
|
|
|
done
|
2018-12-30 13:30:36 +00:00
|
|
|
|
2019-08-25 22:58:22 +00:00
|
|
|
log "Performing sanity checks..."
|
|
|
|
if ! touch /uploads/.sanity-check; then
|
|
|
|
log "\
|
|
|
|
The uploads datadir is NOT writable by `id -u`:`id -g`!\n\
|
|
|
|
This will break all upload functionality.\n\
|
|
|
|
Please fix the permissions and try again.\
|
|
|
|
"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
rm /uploads/.sanity-check
|
|
|
|
|
2019-08-25 21:29:34 +00:00
|
|
|
log "Migrating database..."
|
2018-08-20 21:06:34 +00:00
|
|
|
mix ecto.migrate
|
2018-12-24 22:20:17 +00:00
|
|
|
|
2019-08-25 21:29:34 +00:00
|
|
|
log "Liftoff o/"
|
2018-08-20 21:06:34 +00:00
|
|
|
exec mix phx.server
|