stuck with red heart for node. I have opened the ports in the router, allowed in firewall, configured the domain. Panel is behind a reverse proxy as there are other proxied services on my network. I have tried putting the node behind a proxy and not behind a proxy. I have tried HTTP and HTTPS. And combinations of the two. I have curled the domain from a second pc and it never works. wings debug fails after a bit.
#red heart
74 messages · Page 1 of 1 (latest)
Make sure that your wings are running using systemctl status wings and that your Wings ports (by default 8080/2022) are open in your firewall or router. This website can check your ports https://dnschecker.org/port-scanner.php
Browser console errors can also provide additional debugging information. More troubleshooting steps can be found at https://pterodactyl.io/panel/1.0/troubleshooting.html#cannot-connect-to-server-errors
Should the panel and wings be located on the same network, you might experience NAT reflection issues. In that case, type .nat for more information.
Suppose you are having trouble connecting to a Panel or Node on the same network as your device, or Panel and Wings can't reach each other on the same network. In that case, you may have to edit your /etc/hosts file to point the domain to the local IP, as some routers don't handle NAT Loopback correctly, if at all. On Windows, this file is at C:\Windows\System32\Drivers\etc\hosts
192.168.1.24 panel.mydomain.com node1.mydomain.com
192.168.1.25 node2.mydomain.com
this does not appear to work. My WAN changes periodically so I can't reliably set it in hosts and if I use the LAN IP, it still fails
which proxy do you use for reverse? for caddy, I got it working when I set the port to 80 on wings, and then let caddy handle all https. I had to manually go into the config file on the wings install and set it like this:
api:
host: 0.0.0.0
port: 80
ssl:
enabled: false
I host wings with docker
result is that panel thinks its https all the way, but wings is behaving like https is off, and all traffic on the internal docker network through caddy is unencrypted
Nginx Proxy Manager. It handles all the other services on my network that use a domain name
I normally would just use swag but the other admins arent familiar with CLI and linux
should work in a similar way as my caddy setup then.
out of curiosity, what happens if you just try to go to the wings server with your browser?
so I use NPM so they can add as needed
I get a refused to connect
what does the logs of the wings node say?
● wings.service - Pterodactyl Wings Daemon
Loaded: loaded (/etc/systemd/system/wings.service; enabled; preset: enabled)
Active: active (running) since Thu 2025-06-05 01:26:57 CDT; 17s ago
Main PID: 1518308 (wings)
Tasks: 18 (limit: 154384)
Memory: 8.3M (peak: 10.8M)
CPU: 19ms
CGroup: /system.slice/wings.service
└─1518308 /usr/local/bin/wings
Jun 05 01:26:57 wings1 wings[1518308]: Source: https://github.com/pterodactyl/wings
Jun 05 01:26:57 wings1 wings[1518308]: License: https://github.com/pterodactyl/wings/blob/develop/LICENSE
Jun 05 01:26:57 wings1 wings[1518308]: This software is made available under the terms of the MIT license.
Jun 05 01:26:57 wings1 wings[1518308]: The above copyright notice and this permission notice shall be included
Jun 05 01:26:57 wings1 wings[1518308]: in all copies or substantial portions of the Software.
Jun 05 01:26:57 wings1 wings[1518308]: INFO: [Jun 5 01:26:57.458] loading configuration from file config_file=/etc/pterodactyl/config.yml
Jun 05 01:26:57 wings1 wings[1518308]: INFO: [Jun 5 01:26:57.458] configured wings with system timezone timezone=Etc/UTC
Jun 05 01:26:57 wings1 wings[1518308]: INFO: [Jun 5 01:26:57.458] checking for pterodactyl system user username=pterodactyl
Jun 05 01:26:57 wings1 wings[1518308]: INFO: [Jun 5 01:26:57.459] configured system user successfully gid=985 uid=995 username=pterodactyl
Jun 05 01:26:57 wings1 wings[1518308]: INFO: [Jun 5 01:26:57.459] fetching list of servers from API
the issue is clearly on the wings side of things
can you show me your config.yml?
and the wings is not behind proxy now?
I just need the api: section
it is not behind the proxy right now.
api:
host: 0.0.0.0
port: 8444
ssl:
enabled: false
cert: /etc/letsencrypt/live/node.heresygaming.com/fullchain.pem
key: /etc/letsencrypt/live/node.heresygaming.com/privkey.pem
upload_limit: 100
ok, and when you go to http://{yourip}:8444 you get refused to connect?
yup
that sounds like firewall then
if the daemon is actually running, and nothing in the tail of wings log saying error, then it must be something inbetween, aka firewall
host: 0.0.0.0 means that it should accept connections on any and all ip's
im going to run the wings debug command and have it dump to a txt file
that didnt work
there we gop
yeahok, your wings isnt running properly, it is trying to fetch config from external url
and that url fails out
FATAL: [Jun 5 01:32:31.901] failed to load server configurations error=http: request creation failed: Get "https://management.heresygaming.com/api/remote/servers?page=0&per_page=50": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
@sage lotus; It looks like the Panel or Wings is responding too slowly, causing the request to timeout. Usually, this indicates some sort of a network issue.
Should the panel and wings be located on the same network, you might experience NAT reflection issues. In that case, type .nat for more information.
this is my settings in ptero panel:
and that runs on https?
the panel does. its behind NPM
if it runs on https, then your wings have to as well, so your issue is then that you need to create a real cert for your wings box, and assign that
it says on the website, that if you run https on the panel, wings also needs to be https, not sure why, but.. yeah
cant i just dump the one from NPM since its a wildcard and use it for wings?
you should be able to yeah
then, i am a bit lost, it clearly says that wings cannot send http request to the management server, from that box have you tried to simply ping the management server?
there is routing issue from your wings box to management
ahh, yeah, that explains it, then you need to, on the box route management url to localhost
or just specify the management url as localhost
especially if you use nat routing, a box to try and find itself with public ip can, and normally will result in issues
i had it working before on another server on the same network but that server hardware failed so I replaced it
also, just tried setting the remote to the LAN IP as well as tried with localhost. same issue
I remember having real issues when running panel and wings on same box, especially with https, so I ended up running 2 separate boxes, just a small shitty one for panel
sounds like I might have to run panel in a linode since the only other box I could put it on is a truenas scale 24.10 box
and pterodactyl panel docker basically doesnt work
it's almost as if the pterodactyl devs intentionally made this a nightmare for self-hosters
If Cubecoders AMP didnt peeve me off, Id probably still use it
I figured out panel with docker fairly easily
I can dig up my docker compose that I run with caddy docker.
The hard part was that I had to use 2 different guides I found online. One of them suggested using 192.55.* as docker network, which is a VERY bad idea, since its a public ip range
Anything would help
I tried the blueprint docker but there was too many x-common stuff that SCALE didn't like it
I'd have to transpose that to normal docker
I hate it when app devs make their compose convoluted
here is my docker compose for panel
services:
wings:
image: ghcr.io/pterodactyl/wings:latest
env_file:
- .env
restart: always
networks:
- caddy
- wings0
ports:
- "2022:2022"
tty: true
environment:
TZ: "Europe/Stockholm"
WINGS_UID: 0
WINGS_GID: 0
WINGS_USERNAME: root
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/var/lib/docker/containers/:/var/lib/docker/containers/"
- "/tmp/pterodactyl/:/tmp/pterodactyl/"
- "/etc/ssl/certs:/etc/ssl/certs:ro"
- "${DATA_DIR}/wings/etc/:/etc/pterodactyl/"
- "${DATA_DIR}/wings/logs:/var/log/pterodactyl/"
- "${SERVERS_DATA_FULL_PATH}:${SERVERS_DATA_FULL_PATH}"
labels:
caddy: yoururlhere
[email protected]_header: Connection *Upgrade*
[email protected]_header: Upgrade websocket
caddy.0_reverse_proxy: "@ws {{upstreams}}"
caddy.1_reverse_proxy: /* {{upstreams}}
networks:
caddy:
external: true
wings0:
name: wings0
driver: bridge
ipam:
config:
- subnet: "172.21.0.0/16"
driver_opts:
com.docker.network.bridge.name: wings0
and this is for wings
@sage lotus: It looks like Docker probably is not running on your machine. Use systemctl status docker to check the status of it, and systemctl restart docker to get it operational again.
I use Lucas Lorentz Caddy docker to make the reverse proxying work on both
but you should be able to get it working with any reverse proxy setup
i see you use docker wings