#!/usr/bin/env bash

mkdir -p certs

openssl genrsa -out certs/mycert.key 2048

openssl req -new -key certs/mycert.key -out certs/mycert.csr -subj "/C=/ST=/L=/O=/OU=/CN=/emailAddress="

openssl x509 -req -days 365 -in certs/mycert.csr -signkey certs/mycert.key -out certs/mycert.crt

LOCATION="$(pwd)"

cat << EOF > $LOCATION/app/.env
# Environment variables
WOL_SECRET_KEY="changethis"
WOL_USER_PASS="changethat"
REDIS_URL="redis://localhost:6379/0"
DEVICE_MAC="00:00:00:00:00:00"
DEVICE_IP="192.168.0.0"
DEVICE_IFACE="eth0"
EOF

cat << EOF > /etc/systemd/system/wolServer.service
[Unit]
Description=wol-server
After=network.target
[Service]
Type=simple
StandardOutput=journal
StandardError=journal
SyslogIdentifier=%n
User=root
Group=root
WorkingDirectory=$LOCATION/app
EnvironmentFile=$LOCATION/app/.env
ExecStart=gunicorn -c $LOCATION/gunicorn_config.py
LimitNOFILE=20000
Restart=on-failure
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable --now wolServer.service
