Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Linux Servers

Support::Linux Servers Support forum for Linux EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 02-12-2022, 06:42 AM
Skream
Fire Beetle
 
Join Date: Feb 2020
Posts: 13
Default Project akk-stack - unable to start mariadb

Quote:
ERROR: for d3f1d38b4842_peq-local_mariadb_1 Cannot start service mariadb: driver failed programming external connectivity on endpoint peq-local_mariadb_1 (56ab32b2cdaba96852752c753f1cfe73073a01fe210f36d52 39ef7f156f0e39f): Error starting userland proxy: listen tcp4 172.20.0.20:3306: bind: cannot assign requested address
Recreating e169422103e5_peq-local_eqemu-server_1 ... error

ERROR: for e169422103e5_peq-local_eqemu-server_1 Cannot start service eqemu-server: driver failed programming external connectivity on endpoint peq-local_eqemu-server_1 (06987ae47f52ace2e72052e63733bdaa03ac9f385ec7a6c92 b3b721d56ab149b): Error starting userland proxy: listen tcp4 172.20.0.20:9001: bind: cannot assign requested address

ERROR: for mariadb Cannot start service mariadb: driver failed programming external connectivity on endpoint peq-local_mariadb_1 (56ab32b2cdaba96852752c753f1cfe73073a01fe210f36d52 39ef7f156f0e39f): Error starting userland proxy: listen tcp4 172.20.0.20:3306: bind: cannot assign requested address

ERROR: for eqemu-server Cannot start service eqemu-server: driver failed programming external connectivity on endpoint peq-local_eqemu-server_1
(06987ae47f52ace2e72052e63733bdaa03ac9f385ec7a6c92 b3b721d56ab149b): Error starting userland proxy: listen tcp4 172.20.0.20:9001: bind: cannot assign requested address
This on a local server running Ubuntu 20.04. I also tried the 192.168.0 range.
netstat says nothing is using 3306 so I am thinking it's iptables on the host? Or is there something else I am missing?

EDIT : Yeah, its not the internal firewall as I allowed all 3306 and its still throwing that error.

EDIT : Did some googling and something doesn't look right.

Quote:
xxxxx:~/peq-local$ docker network ls
NETWORK ID NAME DRIVER SCOPE
2e88322eda52 bridge bridge local
995c19f4c868 host host local
9fd44a0d43a8 none null local
0dd171274382 peq-local_backend bridge local
xxxxxx:~/peq-local$ docker network inspect peq-local_backend
[
{
"Name": "peq-local_backend",
"Id": "0dd171274382c1ab8dc12c8602ac73b17af2efc3eb8fd0a93 ce04934cc0d886c",
"Created": "2022-02-12T15:10:39.7912322Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.19.0.0/16",
"Gateway": "172.19.0.1"
}
]
},
"Internal": false,
"Attachable": true,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {
"com.docker.compose.network": "backend",
"com.docker.compose.project": "peq-local",
"com.docker.compose.version": "1.29.2"
}
}
]
Note, I tole the make command to give me 172.20.0.20 but its made the network for 172.19.0.0/16. Also I edited the .env file to set the port to 3386 and that was NOT picked up. It keeps trying to assign 3306.
Reply With Quote
  #2  
Old 02-12-2022, 11:38 AM
Freejack
Sarnak
 
Join Date: Jan 2022
Location: In the woods
Posts: 66
Default

Actually setting the .env to 3386 only makes the internal use 3386. Where it is failing to build is your machine has something using 3306 external to the docker container.

3306:3386 basically the docker container is forwarding 3306 to 3386 into the container. I am betting you have a mariadb/mysql instance running locally on your machine using 3306.

run sudo systemctl stop mysql and then try it. If that is the case and your not using the external either remove it or change it's port to 3307 for future endeavors.

Also looks like something is using 9001. Did you do the non docker install previous? If so it is running.
__________________
Freejacks EQ World
Just a place to adventure and do the things I did not do before and that was a long time ago.
Reply With Quote
  #3  
Old 02-12-2022, 12:38 PM
Skream
Fire Beetle
 
Join Date: Feb 2020
Posts: 13
Default

Quote:
Originally Posted by Freejack View Post
Actually setting the .env to 3386 only makes the internal use 3386. Where it is failing to build is your machine has something using 3306 external to the docker container.

3306:3386 basically the docker container is forwarding 3306 to 3386 into the container. I am betting you have a mariadb/mysql instance running locally on your machine using 3306.

run sudo systemctl stop mysql and then try it. If that is the case and your not using the external either remove it or change it's port to 3307 for future endeavors.

Also looks like something is using 9001. Did you do the non docker install previous? If so it is running.
Thanks for looking but as I said, nothing is using these ports. None of sudo netstat, sudo lsof or sudo fuser showing anything using 3306, 9001 or indeed any of the other ports it is using which are also blocked.

There seems to be a fundamental problem in that these containers can't assign ANY port. I have never installed any version of peq on this device before. These are the only docker containers installed.

Quote:
sudo systemctl stop mysql
Failed to stop mysql.service: Unit mysql.service not loaded.
Same for mariadb. They aren't running.

Please dont tell me I have to virtualbox up a VM on the host to get docker to work properly ...

Also, UFW is disabled on the host. I mean I am seriously lost now.

That's what sudo netstat says is in use.
Quote:
Local
127.0.0.1:8080
127.0.0.1:34513
0.0.0.0:8081
127.0.0.1:32401
127.0.0.53:53
127.0.0.1:32600
127.0.0.1:25
0.0.0.0:8989
0.0.0.0:445
0.0.0.0:8191
127.0.0.1:40005
0.0.0.0:139
0.0.0.0:50638
192.168.1.130:43968
192.168.1.130:8989
192.168.1.130:43790
127.0.0.1:34513
192.168.1.130:43446
192.168.1.130:33812
127.0.0.1:37733
192.168.1.130:8989
192.168.1.130:8081
127.0.0.1:35289
192.168.1.130:42444
192.168.1.130:33810
192.168.1.130:42934
127.0.0.1:55354
127.0.0.1:35887
192.168.1.130:43504
192.168.1.130:8989
192.168.1.130:33978
192.168.1.130:43700
127.0.0.1:50670
127.0.0.1:34513
192.168.1.130:42926
192.168.1.130:8989
127.0.0.1:50862
127.0.0.1:55154
127.0.0.1:33011
127.0.0.1:47010
192.168.1.130:50638
192.168.1.130:8989
192.168.1.130:445
192.168.1.130:43508
127.0.0.1:33028
192.168.1.130:40820
:::32400
::1:25
:::9117
:::445
:::8191
:::7878
:::139
:::50638
192.168.1.130:9117
Reply With Quote
  #4  
Old 02-12-2022, 12:59 PM
Huppy's Avatar
Huppy
Demi-God
 
Join Date: Oct 2010
Posts: 1,332
Default

This is just "one" cause to an issue like that,
Sometimes both the apt and snap version of docker get installed. If so, remove the snap version of docker by running: sudo snap remove docker
__________________
Hanging out at Antonica.World
Reply With Quote
  #5  
Old 02-12-2022, 02:17 PM
Skream
Fire Beetle
 
Join Date: Feb 2020
Posts: 13
Default

Quote:
Originally Posted by Huppy View Post
This is just "one" cause to an issue like that,
Sometimes both the apt and snap version of docker get installed. If so, remove the snap version of docker by running: sudo snap remove docker
Yep, saw that on another site and have done that. Had to install docker-compose again with apt.
Reply With Quote
  #6  
Old 02-12-2022, 02:53 PM
Skream
Fire Beetle
 
Join Date: Feb 2020
Posts: 13
Default

Is this something to do with the bridge it is trying to use being on 172.21.0 and me telling the make install to use 172.17.0.20?

Quote:
docker network inspect peq-local_backend
[
{
"Name": "peq-local_backend",
"Id": "ef39575d1c736316925d2d73d796dd58371ee92d19fa710c6 72d58e4cfecf8dd",
"Created": "2022-02-12T18:48:58.809770079Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.21.0.0/16",
"Gateway": "172.21.0.1"
}
]
},
"Internal": false,
"Attachable": true,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {
"com.docker.compose.network": "backend",
"com.docker.compose.project": "peq-local",
"com.docker.compose.version": "1.25.0"
}
}
]

Creating network "peq-local_backend" with driver "bridge"
Creating peq-local_mariadb_1 ...
Creating peq-local_mariadb_1 ... error
WARNING: Host is already in use by another container

ERROR: for peq-local_mariadb_1 Cannot start service mariadb: driver failed programming external connectivity on endpoint peq-local_mariadb_1 (07d0e593ca4bc19bc69eede98f2fe3009421715f09ddd7499 77ab968a46a47d6): Error starting userland proxy: listen tcp4 172.17.0.60:3306: bind: cannot assign requested address
Creating peq-local_eqemu-server_1 ... error

ERROR: for peq-local_eqemu-server_1 Cannot start service eqemu-server: driver failed programming external connectivity on endpoint peq-local_eqemu-server_1 (e8912ea14189168178aee21d9f87b186ca48cf08f19d23310 86b69b052aba793): Error starting userland proxy: listen tcp4 172.17.0.60:9001: bind: cannot assign requested address

ERROR: for mariadb Cannot start service mariadb: driver failed programming external connectivity on endpoint peq-local_mariadb_1 (07d0e593ca4bc19bc69eede98f2fe3009421715f09ddd7499 77ab968a46a47d6): Error starting userland proxy: listen tcp4 172.17.0.60:3306: bind: cannot assign requested address

ERROR: for eqemu-server Cannot start service eqemu-server: driver failed programming external connectivity on endpoint peq-local_eqemu-server_1 (e8912ea14189168178aee21d9f87b186ca48cf08f19d23310 86b69b052aba793): Error starting userland proxy: listen tcp4 172.17.0.60:9001: bind: cannot assign requested address
ERROR: Encountered errors while bringing up the project.
Because the install doc on github doesn't say you should use any specific ip?

EDIT : Nope.

Quote:
Creating peq-local_eqemu-server_1 ...
Creating peq-local_mariadb_1 ...
Creating peq-local_mariadb_1 ... error

ERROR: for peq-local_mariadb_1 Cannot start service mariadb: driver failed programming external connectivity on endpoint peq-local_mariadb_1 (991384bd2001da053f844577b4b1aeb2bb63069647f3285a6 279adf7cffc7d55): Error starting userland prox
Creating peq-local_eqemu-server_1 ... error
WARNING: Host is already in use by another container

ERROR: for peq-local_eqemu-server_1 Cannot start service eqemu-server: driver failed programming external connectivity on endpoint peq-local_eqemu-server_1 (5dab24ebe68412825c14d895fa191ec22f67014705c713074 db3534922493413): Error starting userland proxy: listen tcp4 172.21.0.60:9001: bind: cannot assign requested address

ERROR: for mariadb Cannot start service mariadb: driver failed programming external connectivity on endpoint peq-local_mariadb_1 (991384bd2001da053f844577b4b1aeb2bb63069647f3285a6 279adf7cffc7d55): Error starting userland proxy: listen tcp4 172.21.0.60:3306: bind: cannot assign requested address

ERROR: for eqemu-server Cannot start service eqemu-server: driver failed programming external connectivity on endpoint peq-local_eqemu-server_1 (5dab24ebe68412825c14d895fa191ec22f67014705c713074 db3534922493413): Error starting userland proxy: listen tcp4 172.21.0.60:9001: bind: cannot assign requested address
ERROR: Encountered errors while bringing up the project.
I have other containers running that can bind ports fine. I even tried the networking tutorial for docker to make sure something fundamental wasn't going wrong. Those containers worked fine and could bind ports.
Reply With Quote
  #7  
Old 02-12-2022, 03:32 PM
Skream
Fire Beetle
 
Join Date: Feb 2020
Posts: 13
Default

Mariadb will install fine and start itself

Quote:
docker run --name mariadbtest -e MYSQL_ROOT_PASSWORD=mypass -p 3306:3306 -d docker.io/library/mariadb:10.3
Unable to find image 'mariadb:10.3' locally
10.3: Pulling from library/mariadb
08c01a0ec47e: Already exists
a2bcb14c13a1: Already exists
29c56760f879: Already exists
a95000a218fc: Already exists
a765d76e68d9: Already exists
c6945738f085: Already exists
62787b7c58c5: Already exists
c14f6657b501: Pull complete
020be96129ba: Pull complete
77a486976bcd: Pull complete
d3911f3f8652: Pull complete
Digest: sha256:a25e7c87fe20c6d035fe81003937a8d732574ecf544 66d0294da3423b64af80c
Status: Downloaded newer image for mariadb:10.3
33a8413efa502c1430fc64215cb453cb55f670dfede9af27ba f0a2c2290036e8
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
33a8413efa50 mariadb:10.3 "docker-entrypoint.s…" 8 minutes ago Up 8 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp mariadbtest
At this point its really starting to look like an issue between Ubuntu 20.04 and this build.
Reply With Quote
  #8  
Old 02-12-2022, 03:50 PM
Skream
Fire Beetle
 
Join Date: Feb 2020
Posts: 13
Default

Curiously enough, using 0.0.0.0 as the IP means it has worked

I await someone to tell me exactly why this is a bad idea ....
Reply With Quote
  #9  
Old 02-12-2022, 04:38 PM
Huppy's Avatar
Huppy
Demi-God
 
Join Date: Oct 2010
Posts: 1,332
Default

Quote:
Originally Posted by Skream View Post
Curiously enough, using 0.0.0.0 as the IP means it has worked

I await someone to tell me exactly why this is a bad idea ....
Using that as a bind address ? yes, it's best to do that, especially in the mysql/maria config.
__________________
Hanging out at Antonica.World
Reply With Quote
  #10  
Old 02-13-2022, 03:59 AM
Skream
Fire Beetle
 
Join Date: Feb 2020
Posts: 13
Default

Quote:
Originally Posted by Huppy View Post
Using that as a bind address ? yes, it's best to do that, especially in the mysql/maria config.
No, I meant ...

Quote:
make set-vars port-range-high=7030 ip-address=0.0.0.0
From https://github.com/Akkadius/akk-stack#installation


Although I am now starting to think I should run this in a VM on my local server. That way it can have exclusive use of all the ports as it will have its own IP. Altho, its only a 4 Core/32 GB box.
Reply With Quote
  #11  
Old 02-14-2022, 08:01 PM
Freejack
Sarnak
 
Join Date: Jan 2022
Location: In the woods
Posts: 66
Default

Quote:
Originally Posted by Skream View Post
No, I meant ...



From https://github.com/Akkadius/akk-stack#installation


Although I am now starting to think I should run this in a VM on my local server. That way it can have exclusive use of all the ports as it will have its own IP. Altho, its only a 4 Core/32 GB box.
In all honesty running it in the docker container is best. Uses less resources and has less overhead. In docker you are getting the bare metal experience in performance. Also you are running UFW on this machine? is it directly on the internet? if not and it is behind a firewall for your network, remove it. All it is doing is blocking intranet traffic when your behind another existing firewall.

This could also be causing your bind issues. Even if you turned it off I have had the experience of it still blocking ports and had to remove it to be able to use said ports on the IP.
__________________
Freejacks EQ World
Just a place to adventure and do the things I did not do before and that was a long time ago.
Reply With Quote
  #12  
Old 02-16-2022, 02:18 AM
Skream
Fire Beetle
 
Join Date: Feb 2020
Posts: 13
Default

Quote:
Originally Posted by Freejack View Post
In all honesty running it in the docker container is best. Uses less resources and has less overhead. In docker you are getting the bare metal experience in performance. Also you are running UFW on this machine? is it directly on the internet? if not and it is behind a firewall for your network, remove it. All it is doing is blocking intranet traffic when your behind another existing firewall.

This could also be causing your bind issues. Even if you turned it off I have had the experience of it still blocking ports and had to remove it to be able to use said ports on the IP.
I fixed the bind issues once I used 0.0.0.0 as the IP. I said previously UFW was off and iptables is set correctly.

The thing about using a VM is that there are a lot of services running on this box that want different ports, running on VM isolates the PEQ server. Also I can start akk-stack up under Debian. Reading this forum it seems people have had a more stable experience with Debian than Ubuntu 20.04.
Reply With Quote
  #13  
Old 02-16-2022, 11:41 AM
Freejack
Sarnak
 
Join Date: Jan 2022
Location: In the woods
Posts: 66
Default

Quote:
Originally Posted by Skream View Post
I fixed the bind issues once I used 0.0.0.0 as the IP. I said previously UFW was off and iptables is set correctly.

The thing about using a VM is that there are a lot of services running on this box that want different ports, running on VM isolates the PEQ server. Also I can start akk-stack up under Debian. Reading this forum it seems people have had a more stable experience with Debian than Ubuntu 20.04.
Yes you did fix the bind issue with 0.0.0.0, now do you understand why it worked? If not then you don't understand why I said you may have to remove UFW to properly fix this. UFW may be saying it is off when it actually is not.

Also switching versions of Linux that are built on each other is not really the answer, solving the issue is the answer. I have been using Linux for over 20 years and every version has a distinct purpose and way of doing things. Ubuntu is based on Debian, I use Linux Mint which is based on both. Inside my network I do not run iptables or UFW because it is all behind a pfsense firewall. Doing double duty is only necessary if I am trying to isolate a box due to it containing sensitive information. A game server in my network is not that box.

Linux is designed for you to use what is more comfortable for you. So switching flavors/versions is your choice. It does mean learning another way of doing things. Debian may work better for some people, I again am using Linux Mint and have been for 6 years successfully on all my servers from games to data.

I have used every major distro and have found issues with all, it comes down to what do you need and how comfortable are you working in it. Also each distro has a lag in updating to the newest drivers and other updates like wine which also if you need the newest for some things a rolling distro maybe required.

Also if you have a dekstop on that server you may want to install GUFW so you have a GUI for UFW. Setting your IP to 0.0.0.0 for bind allows it to bind to any IP which means more than likely UFW was blocking the IP of the box ports but not localhost/127.0.0.1.

Just some thoughts to give you some more info to ponder.
__________________
Freejacks EQ World
Just a place to adventure and do the things I did not do before and that was a long time ago.
Reply With Quote
Reply

Tags
akk-stack


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 07:39 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3