NamelessMC
Overview
NamelessMC is a free, open-source community website platform. It is a content management system with a built-in discussion forum, member registration and profiles, groups and a granular permission system, so a community gets a public site and a forum behind one login.
The SecureAnyCloud image ships NamelessMC 2.2.5, served by nginx and PHP 8.3 FPM on a hardened Ubuntu 24.04 LTS base that is patched at build time. A bundled local MariaDB server makes the appliance complete on its own. The in-game account integration that game server communities use is optional and is configured after launch. The appliance runs standalone, and nothing on the image depends on a game server.
The installation wizard is already closed. NamelessMC normally ships an installer whose first account becomes the site owner, which is a takeover risk on any image that exposes it. On this image the wizard was completed at build time over the loopback interface and permanently closed. nginx does not bind port 80 until the per-VM first boot has created your credentials.
What you get:
- NamelessMC 2.2.5 served by nginx and PHP 8.3 FPM, managed by systemd
- The Core, Forum, Members, Discord Integration and Cookie Consent modules, installed and enabled
- A bundled MariaDB 10.11 server that holds the NamelessMC database, already migrated and ready. It listens only on the loopback interface (127.0.0.1:3306)
- A unique administrator password and a unique database password for every VM, generated on first boot into a root-only file
- No shipped default login: the installer is closed, and no known or blank credential authenticates
- nginx held shut until first boot completes, so the site never serves a request before your credentials exist
- MariaDB bound to
127.0.0.1only, never exposed to the network - Friendly URLs, the upstream-recommended nginx rewrite and deny rules, and an unauthenticated
/healthzendpoint for Azure Load Balancer health probes nginx.service,php8.3-fpm.serviceandmariadb.serviceas enabled systemd units- 24/7 SecureAnyCloud support
Prerequisites
Before you deploy this image, you need:
- An active Azure subscription
- An SSH key pair
- A VNet and subnet in the target region
- A VM size of Standard_B2s (2 vCPU / 4 GiB RAM) as a starting point. Size up for larger or busier communities
- NSG inbound rules that allow
22/tcpfrom your management network and80/tcpfor the site
NamelessMC serves plain HTTP on port 80. For production, terminate TLS in front of it with your own domain.
The bundled MariaDB is never exposed. It listens on 127.0.0.1 only, so port 3306 stays off the network.
Step 1 - Deploy from the Azure Marketplace
Sign in to the Azure Portal, choose Create a resource, search the Marketplace for NamelessMC by SecureAnyCloud, and select Create.
On the Basics tab, pick your subscription, resource group, region and size. Under Administrator account, choose SSH public key and paste your key. Under Inbound port rules, allow SSH (22) and HTTP (80). Then select Review + create, followed by Create.
Step 2 - Deploy from the Azure CLI
Accept the Marketplace terms once per subscription, then create the VM:
# Accept the Marketplace terms once per subscription (required before the first CLI deploy)
az vm image terms accept --urn sac1647283583153:namelessmc-ubuntu-24-04:default:latest
az vm create \
--resource-group <your-rg> \
--name namelessmc \
--image sac1647283583153:namelessmc-ubuntu-24-04:default:latest \
--size Standard_B2s \
--admin-username azureuser \
--generate-ssh-keys \
--public-ip-sku StandardOpen port 80 so visitors can reach the site:
az vm open-port --resource-group <your-rg> --name namelessmc --port 80Step 3 - Confirm the services are running
SSH in as azureuser and confirm that nginx, PHP-FPM and MariaDB are all active. The namelessmc-firstboot unit reports active once it has finished its one-shot run.
MariaDB listens only on 127.0.0.1:3306, while nginx serves the site on port 80.
systemctl is-active nginx php8.3-fpm mariadb namelessmc-firstbootss -tlnp | grep -E ':80 |:3306 'Step 4 - Retrieve your per-VM credentials
Every VM generates its own administrator password and database password on first boot and writes them to a root-only file. Nothing is shared between deployments, and nothing is recoverable from the published image. Print the file:
sudo cat /root/namelessmc-credentials.txtStep 5 - Open your community site
Browse to http://<your-vm-public-ip>/. The public front page is what your visitors see before they sign in. It shows your site name, the navigation for Home, Forum and Members, the welcome announcement, and the Log In and Register buttons.
Step 6 - Sign in as the administrator
Click Log In. Sign in with the user admin (or the administrator email from the credentials file) and the password from /root/namelessmc-credentials.txt. Either identifier works, because this image sets the login method to email or username.
Step 7 - Use the forum
Choose Forum in the navigation. The forum index lists your categories and forums with their topic and post counts, and the most recent topic in each.
The site starts with one category, one forum and the NamelessMC welcome topic. You can post a reply immediately, then rename or replace the defaults from the Staff CP.
Step 8 - Open the Staff CP
Click the blue gear icon in the top right. NamelessMC protects the Staff CP with a second password prompt even when you are already signed in, so enter your administrator password again when it asks you to re-authenticate.
The dashboard shows your user, topic and post counters and an activity chart. The full administration menu runs down the left:Configuration, Communications, Integrations, Layout, Modules, Custom Pages, Groups, User Management, Security, Update, and the Forum settings.
Step 9 - Manage groups and permissions
Open Groups in the Staff CP. NamelessMC ships with Admin, Moderator, Member and Unconfirmed Member, each with a staff flag and its own permission set. Select a group to edit its permissions, or use New Group to add your own.
Use groups to decide who can read, post, moderate and administer.
Step 10 - Verify the security posture
Confirm three things on your own VM:
- The installation wizard is permanently closed, so nobody can claim your site by reaching an installer.
- The administrator created at first boot is the only account that can sign in.
- The per-VM password works through the real sign-in form, and a blank password and the common weak guesses are all rejected.
The first command checks the installer. The second runs the credential round trip:
curl -s http://127.0.0.1/install.php | grep -o 'already been installed'sudo bash /usr/local/sbin/namelessmc-cred-roundtrip.shStep 11 - Verify the stack and the first boot gate
Confirm the NamelessMC version and the health endpoint, then look at the gate that keeps the site shut until your credentials exist.
nginx.service carries a ConditionPathExists on the first-boot sentinel, so on a fresh boot systemd skips nginx entirely. The first-boot service creates your credentials, writes the sentinel and only then starts nginx:
curl -sI http://127.0.0.1/healthz | head -1grep -h ConditionPathExists /etc/systemd/system/nginx.service.d/*.conf; ls -l /var/lib/sac/data/Optional - connect a game server
The NamelessMC game server integration is optional, and nothing on this image requires it. To enable it, open the Staff CP, choose Integrations and configure the integration you want. Then install the matching plugin on your game server and point it at your site.
Nothing on this appliance depends on a game server, so you can run the site as a general-purpose community forum and add the integration later, or never.
Where your data lives
The NamelessMC application tree is at /var/www/namelessmc, owned by www-data. Its configuration, including the database credentials and your site host, is at /var/www/namelessmc/core/config.php. Uploads (avatars, banners, images) live under /var/www/namelessmc/uploads, and the application cache under /var/www/namelessmc/cache. The MariaDB database nameless holds every user, group, permission, forum, topic and post, in its default datadir at /var/lib/mysql.
To back up the site, take a VM-level snapshot or a mysqldump of the nameless database. To count the registered users, run:
sudo mariadb --protocol=socket -uroot -N -e "SELECT COUNT(*) AS users FROM nameless.nl2_users"Add your own domain and TLS
The appliance serves plain HTTP on port 80. For production, front it with your own domain and a TLS certificate.
Then tell NamelessMC its public address by setting hostname in /var/www/namelessmc/core/config.php. If you terminate TLS in front of the appliance, also set force_https to true. Clear the cache afterwards so the change takes effect:
sudo bash /usr/local/sbin/namelessmc-rebuild-module-cache.shYou can terminate TLS with Azure Application Gateway, an nginx or Caddy reverse proxy, or a managed load balancer with a certificate for your domain.
Do not clear the cache by hand. NamelessMC stores its enabled module list in the on-disk cache, so emptying /var/www/namelessmc/cache on its own silently disables the Forum and Members modules. The helper above rebuilds that list from the database, so it is the supported way to clear the cache on this image.
Security notes
- The installation wizard is permanently closed on this image, and
install.phponly ever renders an inert notice. Nobody can claim your site by reaching an installer. - nginx does not bind port 80 until the first-boot service has written your per-VM credentials, so the site never serves a request before it is yours.
- The administrator password and the database password are unique per VM, and no known or blank credential authenticates. Keep
/root/namelessmc-credentials.txtprotected, and change the password from within NamelessMC if you share access. - The bundled MariaDB listens on
127.0.0.1only and is never reachable from the network. Administer it over SSH withsudo mariadb. - NamelessMC serves plain HTTP on port 80. For anything beyond a trusted network, put it behind your own TLS-terminating reverse proxy or Azure Application Gateway with a certificate for your domain.
- Restrict inbound
80/tcpin your NSG to the networks that need the site.
Support
SecureAnyCloud maintains this image and provides 24/7 support. If you need help deploying or operating NamelessMC on Azure, contact us at secureanycloud.com.
Deploy on Azure
Launch NamelessMC on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.
View this image
Need Help?
Our support team is available 24/7.
sales@secureanycloud.com