EML Docs

Install EML AdminTool

Installation

Run the installation script as a non-root user. The script will request sudo permissions when needed.

Caution

Do not run this script as root. It will fail or produce incorrect file ownership.

The script installs the latest stable version of EML AdminTool. To install a specific version, refer to the packages page.

When prompted for a domain name, enter the domain you will use to access EML AdminTool (for example, admintool.myserver.com), without http:// or https://. If you do not have a domain name yet, press Enter to skip — but note that you will need to update the configuration manually before going to production (see Changing domain or IP below).

Warning

EML AdminTool validates the origin of every incoming request. If the domain you enter here does not match the address you use to access the panel, login will fail.

Once the script completes, EML AdminTool is available at http://<your-server-ip>:8080/. Keep it on a private network or behind a firewall until you have completed the NGINX and SSL setup.

Warning

At this stage, EML AdminTool is not secured. Anyone who knows the URL can access the setup page and create the admin account. Complete the setup immediately, then follow the NGINX and SSL guides before exposing it to the internet.

Initial setup

Open http://<your-server-ip>:8080/ in a browser. You will be redirected to the setup wizard automatically.

Step 1 — Language

Select the interface language. You can change it later in the general settings. If your language is not listed, you can contribute a translation via the GitHub repository.

Step 2 — Database password

Generate a strong database password using the “Generate” button. You do not need to remember it — it will be stored securely in the server configuration. Only set a custom password if you intend to access the database directly for backups or manual queries.

Step 3 — Admin account

Create the administrator account. The username you choose here also becomes the global name of your EML AdminTool instance, and is typically the same as your Minecraft server name.

After clicking “Finish”, EML AdminTool restarts to apply the configuration. This takes a few seconds. You will then be redirected to the login page.

Note

If the redirect does not happen within a minute, refresh the page manually.

Changing domain or IP

If you move EML AdminTool to a new server, switch from a local IP to a domain name, or change your domain, you must update the configuration manually.

  1. Connect to your server via SSH.

  2. Navigate to the installation directory (default: ~/.eml/admintool).

  3. Edit the .env file:

    nano ~/.eml/admintool/.env
  4. Update the ORIGIN and ALLOWED_ORIGINS variables:

    NODE_ENV=production
    ORIGIN=https://<your-domain>
    ALLOWED_ORIGINS=http://localhost:8080,http://127.0.0.1:8080,http://<local-ip>:8080,http://<public-ip>:8080,http://<your-domain>,https://<your-domain>

    Set ORIGIN to the primary address you use to access EML AdminTool:

    • https://<your-domain> if you have a domain and HTTPS (recommended)
    • http://<your-domain> if you have a domain but no HTTPS yet
    • http://<public-ip>:8080 if you have no domain name

    Remove any entries from ALLOWED_ORIGINS that do not apply to your setup.

  5. Restart EML AdminTool to apply the changes:

    docker compose -f ~/.eml/admintool/docker-compose.prod.yml down
    docker compose -f ~/.eml/admintool/docker-compose.prod.yml up -d