Get TLS cert&key inside container, fix SSH options

This commit is contained in:
Radon Rosborough 2020-06-11 13:57:36 -06:00
parent b3430a2f2c
commit 4ea197cabe
4 changed files with 26 additions and 4 deletions

View File

@ -70,8 +70,12 @@ app.ws("/api/v1/ws", (ws, req) => {
const secureApp = useTLS
? https.createServer(
{
key: fs.readFileSync("/etc/letsencrypt/live/riju.codes/privkey.pem"),
cert: fs.readFileSync("/etc/letsencrypt/live/riju.codes/fullchain.pem"),
key: Buffer.from(process.env.TLS_PRIVATE_KEY, "base64").toString(
"ascii"
),
cert: Buffer.from(process.env.TLS_CERTIFICATE, "base64").toString(
"ascii"
),
},
app
)

View File

@ -15,5 +15,9 @@ else
exit 1
fi
ssh -o IdentitiesOnly=yes -o StrictHostKeyChecking=no \
chmod go-rw "$keyfile"
ssh -o IdentitiesOnly=yes \
-o StrictHostKeyChecking=no \
-o UserKnownHostsFile=/dev/null \
-o LogLevel=QUIET \
-i "${keyfile}" deploy@209.141.40.107 /usr/bin/riju-install

14
scripts/riju-serve.bash Executable file
View File

@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -e
set -o pipefail
TLS=1
TLS_PRIVATE_KEY="$(base64 -d /etc/letsencrypt/live/riju.codes/privkey.pem)"
TLS_CERTIFICATE="$(base64 -d /etc/letsencrypt/live/riju.codes/fullchain.pem)"
# Do this separately so that errors in command substitution will crash
# the script.
export TLS TLS_PRIVATE_KEY TLS_CERTIFICATE
docker run --rm -p 0.0.0.0:80:6119 riju:prod

View File

@ -2,7 +2,7 @@
Description=Riju online coding sandbox
[Service]
ExecStart=docker run --rm -p 0.0.0.0:80:6119 riju:prod
ExecStart=riju-serve
[Install]
WantedBy=multi-user.target