Local Deployment (Docker)

For advanced users who want full control and features

πŸ’‘ Looking for something simpler? Check out the Windows App - a standalone executable with no Docker setup required!

Local deployment using Docker allows you to use all the features that may be disabled on the public version due to hosting limitations and large amount of users. If you deploy the tool locally, you can generate maps of any size with the highest speed limited only by your hardware.

This guide is for advanced users comfortable with Docker, command line tools, and system configuration. If you're new to these technologies, consider using the Windows App instead.

πŸŽ›οΈ Key Features

Presets System

The Presets feature allows you to:

  • πŸ“ Store Multiple Configurations - OSM files, DEM files, Main Settings, and Generation Settings

  • πŸš€ One-Click Apply - Load complete map setups instantly

  • πŸ’Ύ Save from My Maps - Convert successful generations into reusable presets

  • πŸ”„ Build Template Libraries - Create collections of proven configurations

Advanced Data Management

System Requirements

Prerequisites

Before deployment, make sure that the following components are in place:

  1. Check that the Docker is installed and running properly:

  1. Make sure that you increased the limit for Docker resources (CPU, Memory)arrow-up-right in Docker settings. Otherwise the containers will be stopped upon generation.

  2. Check that the Powershell is installedarrow-up-right and running properly:

*️⃣ PowerShell is required for automated deployment, but you still can launch the containers manually with basic terminal without PowerShell installed.

  1. Install the corresponding version of the Giants Editor.

*️⃣ Note: you must use the specific version that matches the game installation. Not just major versions, such as, GE 9.X for FS22 and GE 10.X for FS25, but also the exact minor versions, that matches the game version. Otherwise, the editor will crash or have errors and glitches.

Deployment

There are different ways to deploy the tool locally, depending on your needs and preferences. For most users, it's recommended to use the automated Setup Wizardarrow-up-right. However, you can choose other approaches as well.

Setup Wizard

Skill level: 🟒 Requires: PowerShell

The easiest way to deploy Maps4FS locally is using our automated setup wizard. You can run it directly from PowerShell:

This command will:

  • Download the latest setup wizard

  • Check that Docker is installed

  • Allows download and install Docker if not

  • Checks if the Docker daemon is running or launches it if not

  • Checks for the containers of old versions and removes them if necessary

  • Checks if required ports are available

  • Creates necessary directories and files

  • Deploys the containers with all the necessary configurations

  • Opens the web interface in your default browser

Using Docker Compose

Skill level: 🟑 Requires: Docker Compose

If you want better control of the deployment such as mounts to specific directories or whatever, you can use the Docker Compose. Download the latest docker-compose.yml file from the repository herearrow-up-right manually or use this command to download it directly from PowerShell:

If you don't need to make any changes you can launch the docker compose file directly from the PowerShell:

Manual Deployment

Skill level: 🟑 Requires: Docker

If you prefer to set up the containers manually, you can use the following commands:

*️⃣ Remember that you can set the preferable directory to mount as well as specify the needed port or even deploy the specific version of the container.

Upgrade

To upgrade Maps4FS to the latest version, you have several options:

The easiest way to upgrade! When a new version is available, an upgrade button will automatically appear in the top-right corner of the Maps4FS interface.

Requirements for one-click upgrade:

  • βœ… Docker socket access (/var/run/docker.sock mounted)

  • βœ… USERPROFILE environment variable available

  • βœ… Proper container configuration

How it works:

  1. πŸ” Maps4FS automatically checks for new versions

  2. πŸ”” Upgrade button appears when update is available

  3. πŸ–±οΈ Click the button to start automatic upgrade

  4. πŸ”„ Containers are updated automatically in the background

This feature is available for Docker Compose and Manual Deployment when properly configured.

Using Setup Wizard

The Setup Wizard automatically handles upgrades. Simply run the same command again:

The wizard will detect existing containers, remove old versions, and deploy the latest release.

Manual Docker Commands

For Docker Compose or Manual Deployment, stop and remove existing containers first:

Then follow your original deployment method to install the latest version.

Usage

After deployment, you can access the web interface of Maps4FS by opening your browser and navigating to http://localhost:3000. The backend API will be accessible at http://localhost:8000.

By default, the following directories are mounted and used:

  • C:/Users/YourUsername/maps4fs/mfsrootdir - Shared working directory between backend and frontend (maps and cache).

  • C:/Users/YourUsername/maps4fs/templates - Templates and schemas directory for API.

  • C:/Users/YourUsername/maps4fs/defaults - πŸ†• Presets system - Multiple OSM files, DEM files, and settings configurations.

🎯 New Presets Structure: The defaults directory now supports the Presets system with four subdirectories:

  • defaults/osm/ - Multiple OpenStreetMap data files

  • defaults/dem/ - Multiple Digital Elevation Model files

  • defaults/main_settings/ - Core map configuration presets

  • defaults/generation_settings/ - Advanced generation option presets

Learn more about the Data Directory structure, Presets, and Map Templates.

Troubleshooting

If you encounter any issues during the deployment or usage of Maps4FS, we recommend using our interactive help tool first.

Try the Interactive Help Tool first: http://localhost:3000/help

This tool will:

  • πŸ” Diagnose local deployment issues - Docker problems, container issues, port conflicts

  • πŸ› οΈ Guide you through solutions step-by-step

  • πŸ“‹ Generate complete reports in markdown format for support requests

  • 🎯 Save time with automated troubleshooting

πŸ’‘ Note: If you can't access the local help tool (because containers aren't running), you can use the public version at maps4fs.xyz/helparrow-up-right or follow the manual steps below.


Manual Troubleshooting Steps

If the interactive help tool isn't accessible, follow the steps outlined below to understand what's wrong.

Check Docker

Make sure Docker is installed and running properly on your machine.

As a result, you should see the installed version of Docker. Then, launch the sample container that will be removed automatically after a few seconds.

*️⃣ If any of the above commands fail, that means you have issues with Docker and need to ensure that is properly installed and configured.

Check the containers

You need to ensure that both frontend and backend containers are exist and running properly. The two containers being used are:

Container name
Default port
Image name
Description

maps4fsapi

8000

iwatkot/maps4fsapi

Backend API container

maps4fsui

3000

iwatkot/maps4fsui

Frontend UI container

Use the following commands to filter by specific container names or image names:

The expected output should be something like:

*️⃣ If the command itself failed, that means you have issues with Docker and need to ensure that is properly installed and configured.

If containers stopped

If you don't see both containers in the output, maybe they have stopped or failed to start. First of all, you need to know the exit code of the container.

Common exit codes include:

Exit Code
Meaning

0

Success

1

General error

Container killed (out of memory)

Then, check the logs of the containers:

To save the logs into file, you can use the following commands:

If the logs do not contain any errors, but simply indicate that the process was terminated, you may be facing a resource limitation issue and it's recommended to check the system resource usage (CPU, RAM) during the container runtime. If the logs contain errors, but they are unclear, it's recommended to ask for help in the Discordarrow-up-right.

Docker events

You can monitor Docker events to get real-time information about container lifecycle changes. Use the following command:

To save the events for last 24 hours into a file, you can use the following command:

Docker exit code 137

The most common exit code indicating that the container was killed due to out of memory (OOM) issues. For large maps, the generator may be processing gigantic images and/or meshes, which may lead to high RAM usage. In this case, you need to increase the memory limit for the containers, refer to the official Docker documentationarrow-up-right for more information on how to do this.

If containers running

If both containers are running, but you still facing issues, please check that both of them are accessible.

The expected response should be a JSON object like:

For the UI container use the following command:

The expected response should be the HTML content of the frontend UI.

*️⃣ If commands fail, that means that the backend API is not accessible or not running properly. Please check the container logs and status as described in the troubleshooting steps above.

If you still have issues

Recommended approach:

  1. 🎯 Try the Interactive Help Tool at http://localhost:3000/help (if containers are running)

  2. πŸ“‹ Use the generated markdown from the tool for your support request

  3. πŸ’¬ Ask for help in the Discordarrow-up-right server or see Getting Help guide

Manual approach:

  • Make sure you've followed all the troubleshooting steps above

  • Include all relevant logs and outputs in your request

*️⃣ Requests without sufficient information may be ignored. The Interactive Help Tool ensures you provide all necessary details.

Checklist before asking for help

Last updated