54 lines
1.4 KiB
Bash
54 lines
1.4 KiB
Bash
#!/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
|