Last active
March 18, 2025 14:23
-
-
Save NotYusta/77c998832676310b53761adb0c3546c7 to your computer and use it in GitHub Desktop.
Install Pterodactyl Wings & Docker
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
WINGS_SYSTEMD_FILE="/etc/systemd/system/wings.service" | |
WINGS_SYSTEMD="\ | |
[Unit] | |
Description=Pterodactyl Wings Daemon | |
After=docker.service | |
Requires=docker.service | |
PartOf=docker.service | |
[Service] | |
User=root | |
WorkingDirectory=/etc/pterodactyl | |
LimitNOFILE=4096 | |
PIDFile=/var/run/wings/daemon.pid | |
ExecStart=/usr/local/bin/wings | |
Restart=on-failure | |
StartLimitInterval=180 | |
StartLimitBurst=30 | |
RestartSec=5s | |
[Install] | |
WantedBy=multi-user.target" | |
install_docker_centos() { | |
# Install required packages | |
sudo dnf install -y dnf-utils device-mapper-persistent-data lvm2 | |
# Add Docker repository (Enterprise Linux 8) | |
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo | |
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y | |
} | |
install_docker_debian_ubuntu() { | |
# Detect OS and set variables | |
source /etc/os-release | |
if [[ "$ID" == "ubuntu" || "$ID" == "debian" ]]; then | |
CODENAME="$VERSION_CODENAME" | |
else | |
echo "Unsupported OS: $ID" | |
return 1 | |
fi | |
# Update package list and install dependencies | |
sudo apt-get update | |
sudo apt-get install -y ca-certificates curl | |
# Add Docker's official GPG key | |
sudo install -m 0755 -d /etc/apt/keyrings | |
sudo curl -fsSL https://download.docker.com/linux/$ID/gpg -o /etc/apt/keyrings/docker.asc | |
sudo chmod a+r /etc/apt/keyrings/docker.asc | |
# Add the Docker repository | |
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/$ID $CODENAME stable" | \ | |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null | |
# Update package list and install Docker | |
sudo apt-get update | |
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin | |
} | |
# Detect OS and install Docker | |
if [ -f /etc/redhat-release ]; then | |
install_docker_centos | |
elif [ -f /etc/debian_version ]; then | |
install_docker_debian_ubuntu | |
else | |
echo "Unsupported OS" | |
exit 1 | |
fi | |
# Install Wings | |
sudo mkdir -p /etc/pterodactyl | |
curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")" | |
sudo chmod u+x /usr/local/bin/wings | |
# Create systemd service | |
if [ -f "$WINGS_SYSTEMD_FILE" ]; then | |
sudo rm -rf "$WINGS_SYSTEMD_FILE" | |
fi | |
echo "$WINGS_SYSTEMD" | sudo tee "$WINGS_SYSTEMD_FILE" > /dev/null | |
# Enable and start services | |
sudo systemctl daemon-reload | |
sudo systemctl enable wings docker --now | |
sudo systemctl restart wings |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment