EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Linux Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=588)
-   -   Docker (https://www.eqemulator.org/forums/showthread.php?t=42349)

baroughter 03-02-2019 03:05 PM

Docker
 
Hiya. I am looking into installing eqemu on a linux server. However I'd prefer to use Docker, because i'm already using this server for many other docker services (and it is not quite beefy enough to be a real VM host). Anyway, I see this, but it hasn't been updated in awhile (and I've tried to use it before and had issues):

https://github.com/jd-war-eagle/eqemu-docker

Just curious if anyone has any advice on this subject, or if you think I should give up and just run it bare-metal.

Thankya!

jmac 03-02-2019 03:24 PM

Love docker. Don't think you need to follow someone else's docker file for this. Just brainstorming here, but all you'd have to do is get a docker image that matches 1 of the supported OS's on https://github.com/EQEmu/Server/wiki/Linux-Server . Then you would setup the docker file to run the eqemu install commands if you want to have a rebuildable eqemu docker image. However, you could just fire up an ubuntu instance, run the install commands manually and save the image as a .tar ball that you can later load. There will probably be some network ports to open up and some permission layers. You could go further by splitting off the db to its own mysql image, and using docker-compose to link it all up.

baroughter 03-02-2019 03:57 PM

Thank you. Yep, already started something like that. This existing docker one seems to unnecessarily build MySQL manually when it could easily use an existing mariadb image.

Anyway, if I get this working I'll put it on Github somewhere. I'm not an EQEmu expert so I don't quite understand why this existing docker script builds eqemu with loginserver enabled (which means it needs to do some things that aren't in the official perl script)

Akkadius 03-02-2019 06:44 PM

There's also this that I made mostly for development and standing up quick test servers for PEQ

https://github.com/Akkadius/eqemu-docker

Disclaimer: All of this runs out of one container which does not follow the typical one process per container paradigm. There's a workspace container which runs all of the emulator binaries, compilation etc and then there is the mariadb container

This is not an officially supported branch but it works more than fine for what it was whipped together for

Eventually I will put together a production ready deployment setup, but it is not on my priority list right now, but I'm putting it out there as-is for folks who wish to play with it.

This could probably run a production server just fine, just everything runs in one container

All you need to do to get it all setup is run `make install`

Code:

make
-----------------------------------------
| Welcome to EQEmu Docker!
-----------------------------------------
| usage: make [command]
-----------------------------------------

assets:
  pull-maps                      Pulls maps
  pull-eqemu-code                Pulls eqemu code
  pull-eqemu-server-script        Pulls eqemu_server.pl
  pull-peq-quests                Pulls ProjectEQ quests
  pull-docker-config              Pulls default eqemu_config.json
  pull-utility-scripts            Pulls utility scripts (start/stop server)

build:
  init-build                      Initialize build
  build                          Build EQEmu server
  build-clean                    Cleans build directory
  build-with-cores                Build EQEmu server (make build-with-cores <number>)

docker:
  up                              Bring up the whole environment
  down                            Down all containers
  restart                        Restart containers

init:
  install                        Install full application
  init-server-directories        Initializes server directories
  init-peq-database              Sources fresh PEQ database (Warning: Will over-write existing)

other:
  help                            Show this help.

server:
  server-start                    Start EQEmu Server
  server-stop                    Stop EQEmu Server

workflow:
  bash                            Bash into workspace
  mysql-console                  Jump into the MySQL container console
  chown-eqemu                    Sets eqemu user ownership over files inside container



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

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.