No description
extract_join_data() previously used `awk '{print $1}'` as its final
step, which only keeps the first whitespace-delimited chunk. Since the
join-data token is base64 and never legitimately contains whitespace,
any paste that gets hard-wrapped across multiple lines (long tokens
wrapped by a terminal or the panel UI, or CRLF line endings) was
silently truncated at the first space/newline, even when the raw
input already contained the rest of the token. This produced a valid
but incomplete base64 string that decoded into a config.yml missing
trailing fields such as `remote`, causing wings to fail at startup
with "invalid remote configuration, cannot connect to panel".
Now strips every whitespace character from the token instead of only
keeping the first token, so wrapped/multi-line pastes are captured in
full regardless of how prompt() received them.
Also bumps the installer banner to v1.3.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
||
|---|---|---|
| install-wings.sh | ||
| README.md | ||
| temp-env.sh | ||
| update-forgejo.sh | ||
| update-panel.sh | ||
| update-wings.sh | ||
Seby's Hosting Scripts
Interactive installation scripts for Calagopus Wings nodes. This script installs:
- Docker (optional, prompted)
- Certbot SSL (optional, prompted)
- Calagopus Wings (auto-detects x86_64 or ARM64)
- Systemd service (via
wings service-install) - Optional SSL configuration auto-wiring in
config.yml
🚀 Quick Install (Copy & Paste)
curl -fsSL https://git.okseby.com/okseby/sebys-hosting-scripts/raw/branch/main/install-wings.sh | bash
⚠️ Make sure ports 80 and 443 are open if you plan to enable SSL.
🔄 Update Scripts (Copy & Paste)
Update Forgejo
curl -fsSL https://git.okseby.com/okseby/sebys-hosting-scripts/raw/branch/main/update-forgejo.sh | bash
Update Panel
curl -fsSL https://git.okseby.com/okseby/sebys-hosting-scripts/raw/branch/main/update-panel.sh | bash
Update Wings
curl -fsSL https://git.okseby.com/okseby/sebys-hosting-scripts/raw/branch/main/update-wings.sh | bash
Temp Environment
curl -fsSL https://git.okseby.com/okseby/sebys-hosting-scripts/raw/branch/main/temp-env.sh | bash
📦 What the Script Does
1️⃣ Docker
- Checks if Docker is installed
- Prompts to install if missing
- Default answer: No
2️⃣ SSL (Optional)
If you choose to enable SSL:
- Installs
certbot - Runs:
certbot certonly --standalone -d yourdomain.com - Automatically modifies:
/etc/calagopus-wings/config.ymlFrom:
ssl:
enabled: false
cert: ''
key: ''
To:
ssl:
enabled: true
cert: /etc/letsencrypt/live/yourdomain.com/fullchain.pem
key: /etc/letsencrypt/live/yourdomain.com/privkey.pem
A backup of the config is created as:
/etc/calagopus-wings/config.yml.bak
3️⃣ Wings Binary
- Detects architecture:
x86_64aarch64
- Downloads the correct release from: https://github.com/calagopus/wings Installed to:
/usr/local/bin/wings
4️⃣ Configuration
Optionally runs:
wings configure --join-data <token>
Then optionally installs as a systemd service:
wings service-install
service-install automatically:
- Creates systemd unit
- Reloads daemon
- Enables service
- Starts service
🧱 Requirements
- Debian / Ubuntu based system
apt- Root or sudo access
- Ports 80/443 open (for SSL standalone mode)
🔐 Security Note
Always inspect remote scripts before running them:
curl -fsSL https://git.okseby.com/okseby/sebys-hosting-scripts/raw/branch/main/install-wings.sh
curl -fsSL https://git.okseby.com/okseby/sebys-hosting-scripts/raw/branch/main/update-forgejo.sh
curl -fsSL https://git.okseby.com/okseby/sebys-hosting-scripts/raw/branch/main/update-panel.sh
curl -fsSL https://git.okseby.com/okseby/sebys-hosting-scripts/raw/branch/main/update-wings.sh
🛠 Manual Install Option
If you prefer not to pipe to bash:
curl -O https://git.okseby.com/okseby/sebys-hosting-scripts/raw/branch/main/install-wings.sh
chmod +x install-wings.sh
./install-wings.sh