OpenFusionProject / OpenFusion

Open source server for the FusionFall client
MIT License
350 stars 64 forks source link

Docker UX issues #292

Open CakeLancelot opened 1 week ago

CakeLancelot commented 1 week ago

There are still a few issues that I would like to address regarding Docker:

First of all the UX is somewhat confusing. For example: if you use Docker Desktop and search for our image, the resulting download will be missing all the port/file mounts that the docker-compose.yml normally sets up. One way to fix this would be to specify in our Dockerhub description/README to specifically use docker compose , then make sure our Dockerhub URL is specified in the yml like so:

image: openfusion/openfusion:latest

This will make it to where if you run docker compose up and have an internet connection, it will automatically grab an image instead of compiling from scratch.

Another thing is that while the server starts up without issue, whenever I connect I get a sandbox related crash. The easiest solution I see is probably just to disable the sandbox for Docker builds, but I'm open to suggestions.

Lastly, whenever the ARM64 build was pushed, it seems to have overwritten the AMD64 build. This should be a simple configuration-related fix.

Juansecu commented 6 days ago

@CakeLancelot Here you have a README for Docker Hub:

OpenFusion Logo

Current Release Workflow Discord License

OpenFusion is a reverse-engineered server for FusionFall. It primarily targets versions beta-20100104 and beta-20111013 of the original game, with limited support⁠ for others.

For full documentation regarding setting up or contributing to the OpenFusion project, please visit our Github repo⁠ or website⁠.

Running

Using Docker CLI

For running the application server using the Docker CLI, it is necessary to expose the following ports through option -p:

And mount the following files through option -v:

Said this, you would use the following command for running the server application:

# Windows
> docker run -dp 23000:23000 \
        -p 23001:23001 \
        -p 8003:8003 \
        -v path\to\config\file\in\host\machine\config.ini:/usr/src/app/config.ini \
        -v path\to\database\file\in\host\machine\database.db:/usr/src/app/database.db \
        -v path\to\tdata\folder\in\host\machine:/usr/src/app/tdata \
        --name openfusion \
        openfusion/openfusion

# MacOS / Linux
$ docker run -dp 23000:23000 \
        -p 23001:23001 \
        -p 8003:8003 \
        -v path/to/config/file/in/host/machine/config.ini:/usr/src/app/config.ini \
        -v path/to/database/file/in/host/machine/database.db:/usr/src/app/database.db \
        -v path/to/tdata/folder/in/host/machine:/usr/src/app/tdata \
        --name openfusion \
        openfusion/openfusion

Using Docker Compose

For running the application server using Docker Compose, you can use the Docker Compose file provided in our repository, but applying the following changes:

  1. Remove the build property from the openfusion service.
  2. Change the image property from the openfusion service to openfusion/openfusion

Once you have applied the below changes, you can run the following command to get the application server running using Docker Compose:

$ docker compose up -d
Juansecu commented 5 days ago

@CakeLancelot I just checked the results of the Push Docker Image action, and found the push of the tag 1.6 failed.

As a suggestion, you should erase the tag master from Docker Hub, optimize the Dockerfile and try to run the push of tag 1.6 again (unless you're planning on releasing a new version soon).

CakeLancelot commented 1 day ago

Juan fixed the issue with the builds being overwritten and I made the tweaks I wanted to the Dockerfile and docker-compose.yml, now I just need to put the finishing touches on the Dockerhub README and we can close this out.