#!/usr/bin/env bash mkdir -p app/certs openssl genrsa -out app/certs/cert.key 2048 openssl req -new -key app/certs/cert.key -out app/certs/cert.csr -subj "/C=/ST=/L=/O=/OU=/CN=/emailAddress=" openssl x509 -req -days 365 -in app/certs/cert.csr -signkey app/certs/cert.key -out app/certs/cert.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=$LOCATION/app/wolServer LimitNOFILE=20000 Restart=on-failure RestartSec=3 [Install] WantedBy=multi-user.target EOF ARCH="$(uname -m)" LATEST_RELEASE="$(curl -s https://git.konsthol.eu/api/v1/repos/konsthol/WOL-Ly/releases/latest | jq -r '.tag_name')" if [ "$ARCH" = "x86_64" ]; then wget -O app/wolServer https://git.konsthol.eu/konsthol/WOL-Ly/releases/download/"$LATEST_RELEASE"/wolServer-x86_64 elif [ "$ARCH" = "aarch64" ]; then wget -O app/wolServer https://git.konsthol.eu/konsthol/WOL-Ly/releases/download/"$LATEST_RELEASE"/wolServer-arm fi chmod +x app/wolServer systemctl daemon-reload systemctl enable --now wolServer.service