setup_weeder.sh
chmod +x setup_weeder.sh && sudo ./setup_weeder.sh
#!/bin/bash
set -euo pipefail
# ====== CONFIG ======
USER="pi"
HOME_DIR="/home/$USER"
APP_DIR="$HOME_DIR/Desktop/WEEDER_PREMIUM_MULTI"
SERVICE_NAME="weeder.service"
echo "=== Install & enable NetworkManager ==="
sudo apt update || true
sudo apt install -y network-manager openssh-server
sudo systemctl enable --now NetworkManager
sudo systemctl enable --now ssh
echo "=== Netplan: NetworkManager renderer + static eth0 (link-local) ==="
sudo bash -c "cat <<'EOF' > /etc/netplan/99-nm.yaml
network:
version: 2
renderer: NetworkManager
ethernets:
eth0:
dhcp4: no
addresses:
- 169.254.1.244/24
EOF"
sudo netplan apply
echo "=== Create systemd service: $SERVICE_NAME ==="
sudo bash -c "cat <<EOF > /etc/systemd/system/$SERVICE_NAME
[Unit]
Description=Weeder Premium Multi 2 startup script
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=$USER
WorkingDirectory=$APP_DIR
ExecStart=/usr/bin/python3 $APP_DIR/server.py
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Restart=always
RestartSec=5
StandardOutput=append:$APP_DIR/startup.log
StandardError=append:$APP_DIR/startup_error.log
[Install]
WantedBy=multi-user.target
EOF"
echo "=== Enable and start service ==="
sudo systemctl daemon-reload
sudo systemctl enable "$SERVICE_NAME"
sudo systemctl restart "$SERVICE_NAME"
echo "=== Desktop shortcut (optional) ==="
mkdir -p "$HOME_DIR/Desktop"
cat <<EOF > "$HOME_DIR/Desktop/weeder.desktop"
[Desktop Entry]
Version=1.0
Name=weeder
Comment=Run WEEDER server
Exec=/usr/bin/python3 $APP_DIR/server.py
Terminal=true
Type=Application
Categories=Utility;
EOF
gio set "$HOME_DIR/Desktop/weeder.desktop" metadata::trusted true || true
chmod +x "$HOME_DIR/Desktop/weeder.desktop"
chown "$USER:$USER" "$HOME_DIR/Desktop/weeder.desktop" || true
echo "=== Sudoers (safe) ==="
sudo bash -c "cat <<EOF > /etc/sudoers.d/weeder
$USER ALL=(ALL) NOPASSWD: /sbin/shutdown, /sbin/iwlist, /usr/bin/nmcli, /bin/dmesg
EOF"
sudo chmod 0440 /etc/sudoers.d/weeder
echo "=== Setup complete. Rebooting in 5 seconds... ==="
sleep 5
sudo reboot
setup_weeder.sh.txt · Last modified: by 46.109.187.144
