theoutrider
New member
- Messages
- 5
- Points
- 0
- Location
- Cambridge, UK
- Discord
- ektoutie#4169
- Github
- fpiesche
- Emulator
- Client Version
- 2018-04-18 MAIN
I've spent the past week or so messing around with Docker, and am pleased to announce that I've put together a Docker setup for Hercules, covering both building Hercules and bringing up actual servers!
https://github.com/fpiesche/hercules-docker
I just want to run a Ragnarok Online server, what do I get out of this?
You can now bring up a server (on a Raspberry Pi or other ARM mini-computer, for now) within moments using a single command! See my post below for information.
I want to develop plugins or contribute to Hercules, what do I get out of this?
You can now build Hercules without having to set up a build environment (other than installing Docker), on all operating systems and platforms (even a Raspberry Pi, if you so wish)! Just use your usual code editor and the git repository above - make your changes in the hercules-src directory and get a clean Linux build by simply running docker-compose up! You can then further run the new server by running docker build -t hercules:latest; docker-compose up.
This Docker setup will, with minimal effort:
- Build Hercules on Linux in a clean, minimal environment (Ubuntu 18.04), all within a Docker container separate from your main system. All dependencies are taken care of and you'll have the exact same build environment as everyone else using the Docker setup! No need to install any development libraries, compilers, etc on your machine. Just run docker-compose up in the main directory and Docker will do all the work.
- It will also split out only the data necessary for running a server into a local directory on the Docker host, so you can build a Linux version of Hercules without needing a development environment on your PC/VPS/etc!
- The "distribution" generated is also all set up so you can containerise it into a Docker image, and bring it up as a Docker cluster together with a database server! No need to install MySQL and import .sql files and keep track of their order to bring your server up. Just navigate to the distribution directory, run docker-compose up and, again, Docker will do all the work.
All in all, with the help of this making a build and bringing up a Hercules server is a matter of mere minutes! If you have an ARM computer, e.g. a Raspberry Pi, you can bring up a server with just a single command (see the following post). If you want to launch a server via Docker on Intel hardware (e.g. your home computer or a hosted Linux server), you can make and deploy your own x86 build with just six commands:
The database data and Hercules conf directories are stored separately from the container in a Docker volume; this means their contents will persist even if you choose to rebuild the container (eg. to get an updated version of Hercules going). You can edit the configuration either by using Docker's "Attach Shell" functionality and just editing the files directly in the container, or you can edit them on your host machine using your favourite editor.
https://github.com/fpiesche/hercules-docker
I just want to run a Ragnarok Online server, what do I get out of this?
You can now bring up a server (on a Raspberry Pi or other ARM mini-computer, for now) within moments using a single command! See my post below for information.
I want to develop plugins or contribute to Hercules, what do I get out of this?
You can now build Hercules without having to set up a build environment (other than installing Docker), on all operating systems and platforms (even a Raspberry Pi, if you so wish)! Just use your usual code editor and the git repository above - make your changes in the hercules-src directory and get a clean Linux build by simply running docker-compose up! You can then further run the new server by running docker build -t hercules:latest; docker-compose up.
This Docker setup will, with minimal effort:
- Build Hercules on Linux in a clean, minimal environment (Ubuntu 18.04), all within a Docker container separate from your main system. All dependencies are taken care of and you'll have the exact same build environment as everyone else using the Docker setup! No need to install any development libraries, compilers, etc on your machine. Just run docker-compose up in the main directory and Docker will do all the work.
- It will also split out only the data necessary for running a server into a local directory on the Docker host, so you can build a Linux version of Hercules without needing a development environment on your PC/VPS/etc!
- The "distribution" generated is also all set up so you can containerise it into a Docker image, and bring it up as a Docker cluster together with a database server! No need to install MySQL and import .sql files and keep track of their order to bring your server up. Just navigate to the distribution directory, run docker-compose up and, again, Docker will do all the work.
All in all, with the help of this making a build and bringing up a Hercules server is a matter of mere minutes! If you have an ARM computer, e.g. a Raspberry Pi, you can bring up a server with just a single command (see the following post). If you want to launch a server via Docker on Intel hardware (e.g. your home computer or a hosted Linux server), you can make and deploy your own x86 build with just six commands:
Code:
$ git clone https://github.com/fpiesche/hercules-docker
$ cd hercules-docker
$ docker-compose up
$ cd hercules
$ docker build . --tag=hercules:latest
$ docker-compose up
The database data and Hercules conf directories are stored separately from the container in a Docker volume; this means their contents will persist even if you choose to rebuild the container (eg. to get an updated version of Hercules going). You can edit the configuration either by using Docker's "Attach Shell" functionality and just editing the files directly in the container, or you can edit them on your host machine using your favourite editor.
Last edited by a moderator: