43 lines
1.0 KiB
Bash
43 lines
1.0 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=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
|