36 lines
1.7 KiB
Bash
36 lines
1.7 KiB
Bash
# Lemmy 1.0 (beta): the backend alone (no UI, no pict-rs) on the shared Postgres. 0.19's rustls ignores every CA but its
|
|||
|
|
# bundled ones, so only 1.0 can trust Caddy's; DANGER_FEDERATION_ALLOW_LOCAL_IP lets it reach the pasture's addresses.
|
||
|
|
LEMMY_IMAGE=${LEMMY_IMAGE:-docker.io/dessalines/lemmy:1.0.0-beta.2}
|
||
|
|
. "$here/peers/shared.sh"
|
||
|
|
|
||
|
|
lemmy_up() {
|
||
|
|
shared_postgres_up
|
||
|
|
podman exec pasture-postgres sh -c "psql -U pasture -tc \"select 1 from pg_database where datname='lemmy'\" | grep -q 1 || createdb -U pasture lemmy"
|
||
|
|
mkdir -p "$here/.state/lemmy"
|
||
|
|
cat > "$here/.state/lemmy/config.hjson" <<HJSON
|
||
|
|
{
|
||
|
|
database: { connection: "postgres://pasture:pasture@postgres:5432/lemmy" }
|
||
|
|
hostname: "lemmy.test"
|
||
|
|
bind: "0.0.0.0"
|
||
|
|
port: 8536
|
||
|
|
tls_enabled: true
|
||
|
|
setup: {
|
||
|
|
admin_username: "lemmyuser"
|
||
|
|
admin_password: "Lemmy-Pasture-Pass-1"
|
||
|
|
site_name: "Pasture Lemmy"
|
||
|
|
admin_email: "lemmyuser@lemmy.test"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
HJSON
|
||
|
|
podman run -d --replace --name pasture-lemmy --network $net -e LEMMY_CONFIG_LOCATION=/config/config.hjson \
|
||
|
|
-e DANGER_FEDERATION_ALLOW_LOCAL_IP=1 -e SSL_CERT_FILE=/pasture/ca/bundle.pem -e RUST_LOG="${LEMMY_LOG:-warn}" \
|
||
|
|
-v "$here/.state/lemmy:/config:z,ro" -v "$ca:/pasture/ca:z,ro" $LEMMY_IMAGE >/dev/null
|
||
|
|
for _ in $(seq 1 90); do
|
||
|
|
site lemmy.test -s -o /dev/null -w '%{http_code}' https://lemmy.test:6443/api/v4/site 2>/dev/null | grep -q 200 && break
|
||
|
|
sleep 2
|
||
|
|
done
|
||
|
|
site lemmy.test -s -X POST https://lemmy.test:6443/api/v4/account/auth/login -H 'Content-Type: application/json' \
|
||
|
|
-d '{"username_or_email":"lemmyuser","password":"Lemmy-Pasture-Pass-1"}' \
|
||
|
|
| python3 -c "import sys,json; print(json.load(sys.stdin)['jwt'])" > "$here/.state/lemmy.token" 2>/dev/null || true
|
||
|
|
echo "lemmy: https://lemmy.test:6443"
|
||
|
|
}
|