unoffical wafrn mirror
wafrn.net
atproto
social-network
activitypub
1#!/usr/bin/env bash
2
3# run this file from WAFRN root directory, e.g.
4#
5# $ ./install/env_local_setup.sh
6
7export ROOT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )"/.. &> /dev/null && pwd )
8
9VAPID_KEYS="$(npx --yes web-push generate-vapid-keys --json)"
10
11export WEBPUSH_PRIVATE="$(echo "$VAPID_KEYS" | jq -r .privateKey)"
12export WEBPUSH_PUBLIC="$(echo "$VAPID_KEYS" | jq -r .publicKey)"
13export WEBPUSH_EMAIL="mailto:wafrn@example.com"
14
15# this might be set earlier
16
17pushd $ROOT_DIR
18
19touch .env
20cp packages/frontend/Caddyfile.local.example packages/frontend/Caddyfile
21cp packages/backend/environment.local.example.ts packages/backend/environment.ts
22cp docker-compose.local.yml docker-compose.yml
23
24perl -pi -e 's/\$\{\{([_A-Z]+):-(.*)\}\}/$ENV{$1}||$2/ge' packages/frontend/Caddyfile
25perl -pi -e 's/\$\{\{([_A-Z]+)\}\}/$ENV{$1}/g' packages/frontend/Caddyfile
26
27perl -pi -e 's/\$\{\{([_A-Z]+):-(.*)\}\}/$ENV{$1}||$2/ge' packages/backend/environment.ts
28perl -pi -e 's/\$\{\{([_A-Z]+)\}\}/$ENV{$1}/g' packages/backend/environment.ts
29
30popd