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.
curl -fsSL https://emlproject.com/install/admintool@latest | bashwget -qO- https://emlproject.com/install/admintool@latest | bashThe 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.
Connect to your server via SSH.
Navigate to the installation directory (default:
~/.eml/admintool).Edit the
.envfile:nano ~/.eml/admintool/.envUpdate the
ORIGINandALLOWED_ORIGINSvariables: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
ORIGINto 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 yethttp://<public-ip>:8080if you have no domain name
Remove any entries from
ALLOWED_ORIGINSthat do not apply to your setup.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