19 lines
1.3 KiB
Bash
19 lines
1.3 KiB
Bash
#!/bin/sh
|
|||
|
|
# Trusts the pasture's CA, writes the config on first start, migrates, and runs Akkoma in the foreground.
|
||
|
|
set -e
|
||
|
|
cp /pasture/ca/root.crt /usr/local/share/ca-certificates/pasture.crt && update-ca-certificates >/dev/null
|
||
|
|
# Mint and hackney read the bundles shipped in the release (CAStore, certifi), never the system's
|
||
|
|
for bundle in /opt/akkoma/lib/castore-*/priv/cacerts.pem /opt/akkoma/lib/certifi-*/priv/cacerts.pem; do
|
||
|
|
grep -q "pasture" "$bundle" || { echo "# pasture"; cat /pasture/ca/root.crt; } >> "$bundle"
|
||
|
|
done
|
||
|
|
if [ ! -f /etc/akkoma/config.exs ]; then
|
||
|
|
# pleroma_ctl passes its arguments on unquoted, so no value may contain a space
|
||
|
|
env -u AKKOMA_CONFIG_PATH -u PLEROMA_CONFIG_PATH /opt/akkoma/bin/pleroma_ctl instance gen --force --output /etc/akkoma/config.exs --output-psql /tmp/setup.psql \
|
||
|
|
--domain akkoma.test --instance-name PastureAkkoma --admin-email admin@akkoma.test --notify-email admin@akkoma.test \
|
||
|
|
--dbhost postgres --dbname akkoma --dbuser pasture --dbpass pasture --rum N --indexable N --db-configurable N \
|
||
|
|
--uploads-dir /var/lib/akkoma/uploads --static-dir /var/lib/akkoma/static --listen-ip 0.0.0.0 --listen-port 4000 \
|
||
|
|
--media-url https://akkoma.test/media --strip-uploads-metadata N --read-uploads-description Y --anonymize-uploads N \
|
||
|
|
</dev/null
|
||
|
|
fi
|
||
|
|
/opt/akkoma/bin/pleroma_ctl migrate
|
||
|
|
exec /opt/akkoma/bin/pleroma start
|