Sign inSign up

darthchungis/etheos

By darthchungis

•Updated 6 months ago

Docker image of https://www.github.com/ethanmoffat/etheos

Image
0

1.1K

darthchungis/etheos repository overview

⁠etheos

A game server for Endless Online⁠, forked from the eoserv⁠ project.

⁠Getting Started

Quickstart command (assuming data files are located in $(pwd)/sample-data), using a temporary SQLite database as the database backend.

docker run --name etheos -it -p 8078:8078 -e ETHEOS_DBTYPE=sqlite -e ETHEOS_DBHOST=database.sdb -v $(pwd)/sample-data:/etheos/data darthchungis/etheos
⁠Prerequisities

You must provide your own data files (maps, pubs, quests, etc.); they are not provided as part of this image. Sample data files are available here⁠. These must be mounted as a volume inside the container.

⁠Usage
⁠Environment Variables

Environment variables may be used to override the configuration file defaults. Environment variables are all-uppercase in the form of ETHEOS_###. For example, -e ETHEOS_PORT=8079 in the docker run command would change the default port the application binds to from 8078 to 8079.

⁠Useful File Locations
  • Default configuration files are built into the image under /etheos/config
  • Local config may be mounted in /etheos/config_local to override the default configs
  • Data files default to /etheos/data but may be overridden in the configs or by an environment variable

These file paths may be mounted as volumes to override the default settings/configuration.

⁠Nonroot User

The image is run using a uid/gid of 8078 (bound to the system account etheos). Data files mounted in the container must be accessible to this user, and if you want to log to a file or mount a volume for a SQLite database you must ensure the directory is writeable by this user.

⁠Example commands (Linux)

First, make a working directory and download the sample data files

mkdir etheos && cd etheos
wget https://etheosstorage.blob.core.windows.net/data/sample-data.zip
unzip sample-data.zip -d .

Run against a MySQL database on localhost

docker run -it -p 8078:8078 -v $(pwd)/sample-data:/etheos/data -e ETHEOS_DBTYPE=MySQL -e ETHEOS_DBHOST=127.0.0.1 -e ETHEOS_DBPORT=3306 -e ETHEOS_DBUSER=root -e ETHEOS_DBPASS=Password123 darthchungis/etheos

Run against a SQL Server database on localhost

docker run -it -p 8078:8078 -v $(pwd)/sample-data:/etheos/data -e ETHEOS_DBTYPE=SqlServer -e ETHEOS_DBHOST=127.0.0.1 -e ETHEOS_DBPORT=1433 -e ETHEOS_DBUSER=sa -e ETHEOS_DBPASS=Password123 darthchungis/etheos

Log to files, store database on mapped volume, and run detached

mkdir logs && mkdir database
chmod 666 logs && chmod 666 database
docker run -d -p 8078:8078 -v $(pwd)/sample-data:/etheos/data -v $(pwd)/logs:/etheos/logs -v $(pwd)/database:/etheos/database -e ETHEOS_DBTYPE=sqlite -e ETHEOS_DBHOST=/etheos/database/database.sdb -e ETHEOS_LOGOUT=/etheos/logs/stdout -e ETHEOS_LOGERR=/etheos/logs/stderr darthchungis/etheos

Log files will be written to $(pwd)/logs, and the database will be stored in $(pwd)/database

⁠Authors

See also the list of contributors⁠ on github.

⁠License

This project is licensed under the zlib license. See the https://github.com/ethanmoffat/etheos/blob/master/LICENSE.txt⁠

Tag summary

Content type

Image

Digest

sha256:928d9febc…

Size

111 MB

Last updated

6 months ago

docker pull darthchungis/etheos