Error following blueprint docker guide

I am getting this error:
In Connection.php line 829:

SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select column_name as
`name`, data_type as `type_name`, column_type as `type`, collation_name as `collation`, i
s_nullable as `nullable`, column_default as `default`, column_comment as `comment`, extra
as `extra` from information_schema.columns where table_schema = 'panel' and table_name =
'locations' order by ordinal_position asc)


In Connector.php line 65:

SQLSTATE[HY000] [2002] Connection refused


root@Laptop:/srv/pterodactyl#
In Connection.php line 829:

SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select column_name as
`name`, data_type as `type_name`, column_type as `type`, collation_name as `collation`, i
s_nullable as `nullable`, column_default as `default`, column_comment as `comment`, extra
as `extra` from information_schema.columns where table_schema = 'panel' and table_name =
'locations' order by ordinal_position asc)


In Connector.php line 65:

SQLSTATE[HY000] [2002] Connection refused


root@Laptop:/srv/pterodactyl#
When using the guide here: https://github.com/BlueprintFramework/web-rewrite/blob/master/apps/frontend/content/guides/docker/install.md I got that when trying to add the location, I followed the guide almost exactly (only thing I changed was the wings stuff in .env because it put \n into it instead of going to the next line
40 Replies
Loki
Loki2w ago
What does your compose file look like?
Zeph
ZephOP2w ago
its the exact one from the link on that page I sent
Loki
Loki2w ago
What do the logs from your database say?
Zeph
ZephOP7d ago
Just realised this got a response, here are the logs
Zeph
ZephOP7d ago
oh wait what it suddenly worked even though I never changed anything from then super weird ok new issue localhost returns PR_END_OF_FILE_ERROR
zephrynis@Laptop:~$ curl http://localhost
curl: (7) Failed to connect to localhost port 80 after 0 ms: Connection refused
zephrynis@Laptop:~$ curl https://localhost
curl: (35) error:0A000126:SSL routines::unexpected eof while reading
zephrynis@Laptop:~$
zephrynis@Laptop:~$ curl http://localhost
curl: (7) Failed to connect to localhost port 80 after 0 ms: Connection refused
zephrynis@Laptop:~$ curl https://localhost
curl: (35) error:0A000126:SSL routines::unexpected eof while reading
zephrynis@Laptop:~$
Loki
Loki7d ago
What does your panel.conf file look like? It's at /srv/pterodactyl/nginx by default. Check panel logs for info as well, and the health status with docker compose ps
Zeph
ZephOP7d ago
here is my panel.conf
Zeph
ZephOP7d ago
root@Laptop:/srv/pterodactyl# docker compose ps
#WARN[0000] The "AUTO_ALLOCATION_START_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "AUTO_ALLOCATION_END_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "EGG_AUTHOR_EMAIL" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_2FA_REQUIRED" variable is not set. Defaulting to a blank string.
WARN[0000] The "AUTO_ALLOCATION" variable is not set. Defaulting to a blank string.
WARN[0000] The "AUTO_ALLOCATION_START_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "AUTO_ALLOCATION_END_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "EGG_AUTHOR_EMAIL" variable is not set. Defaulting to a blank string.
WARN[0000] The "AUTO_ALLOCATION" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_2FA_REQUIRED" variable is not set. Defaulting to a blank string.
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
pterodactyl-cache-1 valkey/valkey:alpine "docker-entrypoint.s…" cache About an hour ago Up About an hour (healthy) 6379/tcp
pterodactyl-database-1 mariadb:11 "docker-entrypoint.s…" database About an hour ago Up About an hour (healthy) 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp
pterodactyl-panel-1 ghcr.io/blueprintframework/blueprint:v1.11.11 "/bin/ash .github/do…" panel About an hour ago Up About an hour (unhealthy) 80/tcp, 9000/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp
pterodactyl-wings-1 ghcr.io/loki-101/cwings:v1.11.13 "/usr/bin/wings --co…" wings About an hour ago Up 29 seconds (health: starting) 0.0.0.0:2022->2022/tcp, [::]:2022->2022/tcp, 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp
root@Laptop:/srv/pterodactyl# docker compose ps
#WARN[0000] The "AUTO_ALLOCATION_START_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "AUTO_ALLOCATION_END_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "EGG_AUTHOR_EMAIL" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_2FA_REQUIRED" variable is not set. Defaulting to a blank string.
WARN[0000] The "AUTO_ALLOCATION" variable is not set. Defaulting to a blank string.
WARN[0000] The "AUTO_ALLOCATION_START_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "AUTO_ALLOCATION_END_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "EGG_AUTHOR_EMAIL" variable is not set. Defaulting to a blank string.
WARN[0000] The "AUTO_ALLOCATION" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_2FA_REQUIRED" variable is not set. Defaulting to a blank string.
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
pterodactyl-cache-1 valkey/valkey:alpine "docker-entrypoint.s…" cache About an hour ago Up About an hour (healthy) 6379/tcp
pterodactyl-database-1 mariadb:11 "docker-entrypoint.s…" database About an hour ago Up About an hour (healthy) 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp
pterodactyl-panel-1 ghcr.io/blueprintframework/blueprint:v1.11.11 "/bin/ash .github/do…" panel About an hour ago Up About an hour (unhealthy) 80/tcp, 9000/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp
pterodactyl-wings-1 ghcr.io/loki-101/cwings:v1.11.13 "/usr/bin/wings --co…" wings About an hour ago Up 29 seconds (health: starting) 0.0.0.0:2022->2022/tcp, [::]:2022->2022/tcp, 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp
here is the output for docker compose ps
****************************************
* Updating Eggs for Nest: Rust *
****************************************

Updated Rust

Database\Seeders\EggSeeder ..................................... 793 ms DONE

Starting cron jobs.
Starting supervisord.
/usr/lib/python3.12/site-packages/supervisor/options.py:13: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
import pkg_resources
2025-09-28 00:18:19,262 CRIT Server 'unix_http_server' running without any HTTP authentication checking
****************************************
* Updating Eggs for Nest: Rust *
****************************************

Updated Rust

Database\Seeders\EggSeeder ..................................... 793 ms DONE

Starting cron jobs.
Starting supervisord.
/usr/lib/python3.12/site-packages/supervisor/options.py:13: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
import pkg_resources
2025-09-28 00:18:19,262 CRIT Server 'unix_http_server' running without any HTTP authentication checking
this is the end of the panel logs
Loki
Loki7d ago
#WARN[0000] The "AUTO_ALLOCATION_START_PORT" variable is not set. Defaulting to a blank string. WARN[0000] The "AUTO_ALLOCATION_END_PORT" variable is not set. Defaulting to a blank string. WARN[0000] The "EGG_AUTHOR_EMAIL" variable is not set. Defaulting to a blank string. WARN[0000] The "APP_2FA_REQUIRED" variable is not set. Defaulting to a blank string. WARN[0000] The "AUTO_ALLOCATION" variable is not set. Defaulting to a blank string. WARN[0000] The "AUTO_ALLOCATION_START_PORT" variable is not set. Defaulting to a blank string. WARN[0000] The "AUTO_ALLOCATION_END_PORT" variable is not set. Defaulting to a blank string. WARN[0000] The "EGG_AUTHOR_EMAIL" variable is not set. Defaulting to a blank string. WARN[0000] The "AUTO_ALLOCATION" variable is not set. Defaulting to a blank string. WARN[0000] The "APP_2FA_REQUIRED" variable is not set. Defaulting to a blank string.
Start from the example .env file here: https://github.com/BlueprintFramework/docker/blob/Master/.env The docs you followed are experimental right now; refer to the README.md file in that repo instead.
Zeph
ZephOP7d ago
I will add those, but I don't really see how they would be vital to the panel being accessible Added them, still same result
Zeph
ZephOP7d ago
wings is failing to start with this
Zeph
ZephOP7d ago
both panel and wings are stuck in starting state, panel is not doing anything and I dont see any issues in logs
Zeph
ZephOP7d ago
this is still the only thing showing in panel logs
Zeph
ZephOP7d ago
well, aside from the other normal stuff like updating eggs and stuff
Loki
Loki7d ago
Have you taken the stack down and up, or are you just restarting it? Now that the env vars are in:
docker compose down
docker compose up -d
docker compose logs panel
docker compose ps
docker compose down
docker compose up -d
docker compose logs panel
docker compose ps
Zeph
ZephOP7d ago
I did take it down and put it back up when I said this
Loki
Loki6d ago
I'd recommend starting over completely and just going off the Github Repo's README file. It will most likely just work out of the box after that.
Zeph
ZephOP6d ago
I mean I can try it but last time I tried that it didn't work
Loki
Loki6d ago
Just make sure you're starting from scratch. Take the volume down (docker compose down -v), delete the bind mounts. Should be a blank /srv/pterodactyl directory with docker-compose.yml and .env
Zeph
ZephOP6d ago
exact same error doing what is said in the readme PR_END_OF_FILE_ERROR same log output this is my env
BASE_DIR=/srv/pterodactyl
# By default, you'd want to place your Wings config.yml file at /srv/pterodactyl/wings/config.yml
# In general, such as with this and with certs, you'd want to look at your mounts in the docker-compose.yml file
# in order to know where to put things on the host system.
APP_NAME=Ptero
APP_ENV=production # "production" or "testing"
PANEL_PORT=443
# If you want to allow port 80 as well, i.e. if you don't use Cloudflare to manage your DNS and
# automatically direct requests to https, you can add another port in the docker-compose.yml file
WINGS_PORT=8081
WINGS_SFTP_PORT=2022
# Domain for mail sections (if you're configuring email)
DOMAIN=example.com
# Recommended strength is a random 20 digit password with letters, numbers, and symbols
# You can use "openssl rand -base64 32" to generate a random password
MARIADB_ROOT_PASS=12341
MARIADB_USER_PASS=12342
VALKEY_PASS=12343
HASH_SALT=12344
# Remember https:// or http://
FQDN="http://localhost"
# Part of what you'd set if behind a proxy in order for activity logs to see the correct IP addresses
# The other part would be passing the headers through by modifying your panel.conf file
TRUSTED_PROXIES=
# A list of valid timezones can be found here: http://php.net/manual/en/timezones.php
TIMEZONE=America/Los_Angeles
EGG_AUTHOR_EMAIL=nobody@ptero.local
RECAPTCHA_ENABLED=false
# Go to https://www.google.com/recaptcha/admin to generate these
RECAPTCHA_SITE_KEY=
RECAPTCHA_SECRET_KEY=
# 2 = required for all, 1 = required for panel admins, 0 = disabled
APP_2FA_REQUIRED=2
AUTO_ALLOCATION=false
AUTO_ALLOCATION_START_PORT=
AUTO_ALLOCATION_END_PORT=
# To effectively disable the mail feature, set to "array" instead of "smtp"
MAIL_DRIVER=smtp
SMTP_SERVER=
SMTP_PORT=
SMTP_ENCRYPTION=tls
SMTP_USERNAME=
SMTP_APIKEY=
BASE_DIR=/srv/pterodactyl
# By default, you'd want to place your Wings config.yml file at /srv/pterodactyl/wings/config.yml
# In general, such as with this and with certs, you'd want to look at your mounts in the docker-compose.yml file
# in order to know where to put things on the host system.
APP_NAME=Ptero
APP_ENV=production # "production" or "testing"
PANEL_PORT=443
# If you want to allow port 80 as well, i.e. if you don't use Cloudflare to manage your DNS and
# automatically direct requests to https, you can add another port in the docker-compose.yml file
WINGS_PORT=8081
WINGS_SFTP_PORT=2022
# Domain for mail sections (if you're configuring email)
DOMAIN=example.com
# Recommended strength is a random 20 digit password with letters, numbers, and symbols
# You can use "openssl rand -base64 32" to generate a random password
MARIADB_ROOT_PASS=12341
MARIADB_USER_PASS=12342
VALKEY_PASS=12343
HASH_SALT=12344
# Remember https:// or http://
FQDN="http://localhost"
# Part of what you'd set if behind a proxy in order for activity logs to see the correct IP addresses
# The other part would be passing the headers through by modifying your panel.conf file
TRUSTED_PROXIES=
# A list of valid timezones can be found here: http://php.net/manual/en/timezones.php
TIMEZONE=America/Los_Angeles
EGG_AUTHOR_EMAIL=nobody@ptero.local
RECAPTCHA_ENABLED=false
# Go to https://www.google.com/recaptcha/admin to generate these
RECAPTCHA_SITE_KEY=
RECAPTCHA_SECRET_KEY=
# 2 = required for all, 1 = required for panel admins, 0 = disabled
APP_2FA_REQUIRED=2
AUTO_ALLOCATION=false
AUTO_ALLOCATION_START_PORT=
AUTO_ALLOCATION_END_PORT=
# To effectively disable the mail feature, set to "array" instead of "smtp"
MAIL_DRIVER=smtp
SMTP_SERVER=
SMTP_PORT=
SMTP_ENCRYPTION=tls
SMTP_USERNAME=
SMTP_APIKEY=
Loki
Loki6d ago
PANEL_PORT is set to 443, but your panel.conf file for Nginx is pointed to 80 going off the last one you sent. If you mean to use TLS encryption, change <domain> and drop this in it's place: If you don't mean to (I see you have http://localhost set), change PANEL_PORT to 80. Also, to prevent your logs getting spammed with meaningless errors, change MAIL_DRIVER to array to effectively disable it.
Zeph
ZephOP6d ago
changing it to 80 seems to have fixed it, I feel silly now for not noticing that sooner 😅
Loki
Loki6d ago
I missed it too, to be fair
Zeph
ZephOP6d ago
Also, do you know a way I could run multiple instances of this on the same machine? When I tried I got the error "failed to create network pool overlaps with other one on this address space"
Loki
Loki6d ago
The subnet chosen in your docker-compose.yml file can't be used, and the subnet chosen for pterodactyl_nw in your Wings config.yml file also can't be used. You can see what's currently used with ip a
Zeph
ZephOP6d ago
where is the config.yml supposed to be for wings? I can't find it anywhere put it in the /wings folder and its recognised it, but now my wings logs get this
Zeph
ZephOP6d ago
Loki
Loki6d ago
Wings is in it's own container; localhost will point INSIDE the Wings container at port 80, which has nothing there. Use the machine's address, e.g. 192.168.X.X for the Wings FQDN. If you plan to access the panel from a different machine on your network, use that for the panel FQDN as well.
Zeph
ZephOP6d ago
Ah I see, is there any way I could do it so that it would work across different networks without having to change any configs? I'm setting this up on my laptop and will be switching networks a lot, and the assigned IP will be different in each network im not hugely knowledgable in networking 😅 would setting it to something like 172.17.0.1 work? I saw it was still there even if I disconnected from wifi hmm seems like that is a no, tried it and got this error
____
__ Pterodactyl _____/___/_______ _______ ______
\_____\ \/\/ / / / __ / ___/
\___\ / / / / /_/ /___ /
\___/\___/___/___/___/___ /______/
/_______/ 1.11.13

Copyright © 2018 - 2025 Dane Everitt & Contributors

Website: https://pterodactyl.io
Source: https://github.com/pterodactyl/wings
License: https://github.com/pterodactyl/wings/blob/develop/LICENSE

This software is made available under the terms of the MIT license.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

INFO: [Sep 29 03:09:34.600] loading configuration from file config_file=/etc/pterodactyl/config.yml
INFO: [Sep 29 03:09:34.601] configured wings with system timezone timezone=Europe/London
INFO: [Sep 29 03:09:34.602] configured system user successfully gid=988 uid=988 username=pterodactyl
INFO: [Sep 29 03:09:34.607] fetching list of servers from API
INFO: [Sep 29 03:09:34.930] processing servers returned by the API total_configs=0
INFO: [Sep 29 03:09:34.931] finished processing server configurations duration=262.209µs
INFO: [Sep 29 03:09:34.934] creating missing pterodactyl0 interface, this could take a few seconds...
FATAL: [Sep 29 03:09:34.936] failed to configure docker environment error=Error response from daemon: invalid pool request: Pool overlaps with other one on this address space

Stacktrace:
Error response from daemon: invalid pool request: Pool overlaps with other one on this address space
____
__ Pterodactyl _____/___/_______ _______ ______
\_____\ \/\/ / / / __ / ___/
\___\ / / / / /_/ /___ /
\___/\___/___/___/___/___ /______/
/_______/ 1.11.13

Copyright © 2018 - 2025 Dane Everitt & Contributors

Website: https://pterodactyl.io
Source: https://github.com/pterodactyl/wings
License: https://github.com/pterodactyl/wings/blob/develop/LICENSE

This software is made available under the terms of the MIT license.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

INFO: [Sep 29 03:09:34.600] loading configuration from file config_file=/etc/pterodactyl/config.yml
INFO: [Sep 29 03:09:34.601] configured wings with system timezone timezone=Europe/London
INFO: [Sep 29 03:09:34.602] configured system user successfully gid=988 uid=988 username=pterodactyl
INFO: [Sep 29 03:09:34.607] fetching list of servers from API
INFO: [Sep 29 03:09:34.930] processing servers returned by the API total_configs=0
INFO: [Sep 29 03:09:34.931] finished processing server configurations duration=262.209µs
INFO: [Sep 29 03:09:34.934] creating missing pterodactyl0 interface, this could take a few seconds...
FATAL: [Sep 29 03:09:34.936] failed to configure docker environment error=Error response from daemon: invalid pool request: Pool overlaps with other one on this address space

Stacktrace:
Error response from daemon: invalid pool request: Pool overlaps with other one on this address space
Loki
Loki6d ago
Yes, you can set it up at your public IP and port forward, or you can set up a basic VPN at your public IP that you connect to to get to your services, or you can use a Cloudflare Tunnel if you're ok with learning how they work, and accepting the limitations, like no uploads bigger than 100MB, and consequently transferring servers between nodes, you'd need to empty out the server files first since it transfers over WebRTC and is subject to the 100MB limit. 3 options, varying levels of complexity. Locally, it has to be a different network. You can connect to that network from anywhere using a VPN, port forward, or proxy.
Zeph
ZephOP6d ago
I think you misunderstood, I am running the docker compose on my laptop and it is the laptop that is switching between networks
Loki
Loki6d ago
Are you only CONNECTING to your panel from the laptop as well?
Zeph
ZephOP6d ago
Also my college blocks VPNs, no clue how though yeah I am
Loki
Loki6d ago
You can use the Docker Network gateways as the FQDN addresses then. 172.20.0.1 by default for the panel and Wings stack.
Zeph
ZephOP6d ago
just tried that and I am still getting this error for some reason
FATAL: [Sep 29 03:13:52.452] failed to configure docker environment error=Error response from daemon: invalid pool request: Pool overlaps with other one on this address space

Stacktrace:
Error response from daemon: invalid pool request: Pool overlaps with other one on this address space
FATAL: [Sep 29 03:13:52.452] failed to configure docker environment error=Error response from daemon: invalid pool request: Pool overlaps with other one on this address space

Stacktrace:
Error response from daemon: invalid pool request: Pool overlaps with other one on this address space
Also not sure if this affects anything, but I set the FQDN to fileplus.ptero and have that pointing to 172.20.0.1 in hosts
Loki
Loki6d ago
That's fine, that's the same as using 172.20.0.1 directly as far as everything here is concerned. What is the result of ip a? What does your network section of the config.yml file look like? I assume that's from Wings logs, not something that pops up when you bring the panel stack up.
Zeph
ZephOP6d ago
Yeah its wings logs, ill check ip a and send the config tomorrow since its super late
Loki
Loki6d ago
When you do, you should see a bunch of subnets. Typically, you'll just go into the config.yml file, change the subnet from 172.18.0.0/16 to one not in use, and change the gateway and interface to match (the first address in the subnet, e.g. 172.18.0.1 by default for both of them).
Zeph
ZephOP5d ago
Zeph
ZephOP5d ago
root@Laptop:/srv/fileplus/wings# cat config.yml
debug: false
uuid: e95857cb-1652-4dcc-a518-2e8ca4757e14
token_id: sDwrI7SEWNsS58ei
token: MltlKKCFwowIjFbT8dRE7QvdfUeANBPGRgaVjzOwMjtwlbRGCfO1EXK8D7FkQPUx
api:
host: 0.0.0.0
port: 8082
ssl:
enabled: false
cert: /etc/letsencrypt/live/0.0.0.0/fullchain.pem
key: /etc/letsencrypt/live/0.0.0.0/privkey.pem
upload_limit: 100
system:
data: /srv/fileplus/wings/servers
sftp:
bind_port: 2023
allowed_mounts: []
remote: 'http://fileplus.ptero'
root@Laptop:/srv/fileplus/wings# cat config.yml
debug: false
uuid: e95857cb-1652-4dcc-a518-2e8ca4757e14
token_id: sDwrI7SEWNsS58ei
token: MltlKKCFwowIjFbT8dRE7QvdfUeANBPGRgaVjzOwMjtwlbRGCfO1EXK8D7FkQPUx
api:
host: 0.0.0.0
port: 8082
ssl:
enabled: false
cert: /etc/letsencrypt/live/0.0.0.0/fullchain.pem
key: /etc/letsencrypt/live/0.0.0.0/privkey.pem
upload_limit: 100
system:
data: /srv/fileplus/wings/servers
sftp:
bind_port: 2023
allowed_mounts: []
remote: 'http://fileplus.ptero'

Did you find this page helpful?