Skip to content

Latest commit

 

History

History
95 lines (67 loc) · 3.46 KB

README.md

File metadata and controls

95 lines (67 loc) · 3.46 KB

aurora4x-docker

GitHub Workflow Status (branch)

A Docker container with Aurora4x (C#) accessible via a web-browser.

Prerequisites

Install Prebuilt Image

docker pull ghcr.io/firefly2442/aurora4x-docker:latest

Or

podman pull ghcr.io/firefly2442/aurora4x-docker:latest

Images are hosted on Github Container Registry.

Building From Scratch

docker build . -t ghcr.io/firefly2442/aurora4x-docker:latest

Running

Use the most recent patch and find the AuroraDB.db file. Place this in the sourcecode folder or wherever you're wanting to start it up. Change <path to your local Aurora.db> in the below command to the full path to your AuroraDB.db file. This will allow saving via Docker to persist on your local disk.

docker run -p 6080:3000 --name=aurora4x-docker -v /dev/shm:/dev/shm -v /<path to your local Aurora.db>/AuroraDB.db:/config/AuroraDB.db ghcr.io/firefly2442/aurora4x-docker

Or

podman run -p 6080:3000 -v /dev/shm:/dev/shm -v /<path to your local Aurora.db>/AuroraDB.db:/config/AuroraDB.db aurora4x-docker

Open http://localhost:6080 in your browser.

Double-click the Aurora4x icon on the desktop and then select execute. If saving the game gives you permission issues, you may need to run the game from the command line with:

sudo /config/Aurora.sh

Security

Depending on where you are running this and/or your network settings, this container could be visible to the outside world. Be careful that this not be used as an attack vector onto your systems.

Why Docker

Since the sourcecode to Aurora4x hasn't been released, we can't compile it for other systems. This allows people on Mac and Linux to play too. There are some "hacky" things that need to be done to the underlying libraries. This prevents you from needing to do these on your base Linux system and potentially hosing it.

For Developers

  • Copy *.rar files (full install, patches, etc.) into the cloned code to be copied over to the container during the build. This prevents constantly hitting the pentarch.org servers and sucking up bandwidth.
  • Get into the running container with docker exec -it aurora4x-docker /bin/bash or just open up the LXTerminal app.
  • Use docker system prune since the intermediate layers, particularly in the builder are huge.
  • Use docker image ls to see image sizes.
  • Use the Dive program to help debug the image size, dive ghcr.io/firefly2442/aurora4x-docker.
  • Use Trivy for manual image vulnerability scanning, e.g. trivy image --ignore-unfixed ghcr.io/firefly2442/aurora4x-docker:latest

Support

  • With the UI hacks needed as well as running things through Mono, please replicate any bugs you find on a plain Windows install of Aurora4x. This helps Steve keep track of legitimate bugs and prevents any false-positives.
  • #aurora-linux channel on Discord
  • Aurora forums

Thanks To

  • twice2double - for start of Dockerfile
  • cpw - for font scaling hack
  • Everyone else on #aurora-linux I forgot...