Skip to content

Introduction

AkkStack Spire Docker

AkkStack is a simple Docker Compose environment that is augmented with developer and operator focused tooling for running EverQuest Emulator servers.

You can have an entire server running within minutes, configured and ready to go for development or **production ** use!

This is what I've used in production, battle-tested, for almost 5+ years. I've worked through a lot of issues to give you the final stable product.

It's what I've also used exclusively for development as well as many other developers!

Repository https://github.com/Akkadius/akk-stack


Features

Containerized Services

Service Description
eqemu-server Runs the emulator server and all services related to the emulator server
mariadb MySQL service
phpmyadmin (Optional) PhpMyAdmin which is automatically configured behind a password proxy
peq-editor (Optional) PEQ Editor which is automatically configured
ftp-quests (Optional) An FTP instance fully ready to be used to remotely edit quests
backup-cron (Optional) A container built to automatically backup (Dropbox API) the entire deployment and perform database and quest snapshots for with different retention schedules defined in .env

Spire Web Admin

Spire is a powerhouse web admin panel as well as rich server content editor. It is continually being developed and new features being added regularly.

PEQ Editor

Automatically configured with pre-set admin password, listens on port 8081 by default

PhpMyAdmin

Automatically configured PhpMyAdmin instance with pre-set admin password (Behind a password protected proxy) listens on port 8082 by default

CLI Menus

Embedded Server Management CLI

Embedded server management CLI makes for quick and easy management of the server

In Container Command Menu

A make menu to manage the in-container environment, need to be in home directory cd ~/ to use

Host-Level Command Menu

A make menu to manage the host-level container environment

SSH

eqemu-server starts with SSH server, the installation provides a generated 30+ character password, persistent keys through reboot.

Info

Default port is 2222

Cron Jobs

Cronjob support via crontab is available in the eqemu-server container.

Edit ~/assets/cron/crontab.cron directly and the file watcher will install new crontab changes. (You cannot use crontab -e)

For example, PEQ has a configured database dump cron that feeds https://db.projecteq.net

eqemu@f30bb0b5bd3c:~$ cat ~/assets/cron/crontab.cron 
0 3 * * * cd /home/eqemu/server && ./scripts/peq-dump.sh && curl -F 'data=@/tmp/peq-latest.zip' http://db.projecteq.net/api/v1/dump/upload\?key\=apikey && rm /tmp/peq-latest.zip

Startup Scripts

The eqemu-server container will start applications or scripts in ~/server/startup/* folder.

Warning

Do not try to run eqemu services here as they are managed by Spire

This is useful for running custom scripts or applications on startup, for example, a Discord bot

eqemu@f30bb0b5bd3c:~$ ls -lsh ~/server/startup
total 8.7M
8.7M -rwxr-xr-x 1 eqemu eqemu 8.7M Jun 10  2019 discordeq

Automated Backups

There is a backup-cron container that is optional to use, it will automatically backup the entire deployment and perform database and quest snapshots for with different retention schedules defined in .env