#!/bin/sh

set -e
set -x

# Set hostname to match certificates
echo "Hostname = \"$(hostname -f)\"" >> /etc/molly-brown/localhost.conf

# Create links for SSL certificate and key
mkdir --parents /etc/molly-brown/certs
ln --symbolic --force /etc/ssl/certs/ssl-cert-snakeoil.pem \
   /etc/molly-brown/certs/localhost.crt
ln --symbolic --force /etc/ssl/private/ssl-cert-snakeoil.key \
   /etc/molly-brown/certs/localhost.key

# Create gemtext documents
mkdir --parents /var/lib/molly-brown
cat > /var/lib/molly-brown/test.gmi <<EOF
# Gemtext example

This is an example of gemtext.

## List example

* Item 1
* Item 2

## Quote example

> Hello, world.
EOF

mkdir --parents /var/lib/molly-brown/users/molly
cat > /var/lib/molly-brown/users/molly/test.gmi <<EOF
# Example using HomeDocBase

This document is accessed through ~/molly/test.gmi path.
EOF

# Start server
systemctl enable molly-brown@localhost
systemctl start molly-brown@localhost
sleep 10

# Get various documents and folder listings
for i in / /test.gmi /~/ /~/molly/ /~/molly/test.gmi
do
    url="gemini://$(hostname -f)$i"
    echo
    echo "Get $url"
    echo "$url" | ncat --ssl localhost 1965 || exit 1
done
