Allmon3 Launchpad v1.8 Community Edition
Launchpad customisations by Roger Loxton-Gear, G7LMY.
Free public use, modification and redistribution subject to applicable upstream licences.
Provided AS IS, without warranty or liability to the extent permitted by law.
Not an official AllStarLink release. See README.txt for full terms and notices.

# Allmon3 Launchpad v1.8 Community Edition

A dark/light, responsive interface modification exported from a working Allmon3 installation on 31 October 2026.

## Compatibility and scope

- **Tested source:** Allmon3 interface marked **1.11**, served by Apache on Debian 12.
- This is **not** a standalone Allmon3 installation. It requires an already working Allmon3 server, its original JavaScript, Bootstrap, images and backend configuration.
- The package replaces `index.html` and `css/custom.css`, and adds `css/launchpad-light.css` and `js/theme-toggle.js`.
- Node names, connections and backend settings are supplied by the recipient's existing Allmon3 configuration. The package does not include node credentials or server configuration.
- Other Allmon3 versions may have incompatible HTML or JavaScript. Compare before installing, and test on a non-production instance when possible.
- The source `index.html` contains the original AllStarLink copyright and AGPLv3 notice; retain it. Respect upstream licensing obligations when redistributing modified Allmon3 code.

## Package contents

```
index.html
css/custom.css
css/launchpad-light.css
js/theme-toggle.js
INSTALL.md
ROLLBACK.md
```

## Install on Debian 12 / Apache (manual, recommended)

Run commands **on the Allmon3 server**, with sudo/root privileges. This example assumes the standard static asset directory `/usr/share/allmon3`. Check your own Apache Alias or document root first:

```bash
sudo grep -Rni 'Alias /allmon3' /etc/apache2/conf-enabled/ /etc/apache2/sites-enabled/
ls -l /usr/share/allmon3/index.html /usr/share/allmon3/css/custom.css
```

1. Copy this ZIP to the server and extract it to a staging directory such as `/tmp/allmon3-launchpad`. Change into that extracted folder.
2. Back up the existing interface, **following symlinks so the actual custom.css content is saved**:

```bash
STAMP=$(date +%Y%m%d-%H%M%S)
sudo tar -chzf "/root/allmon3-before-launchpad-$STAMP.tar.gz" \
  -C /usr/share/allmon3 index.html css/custom.css
```

If `css/custom.css` is absent, back up `index.html` separately and record that the CSS file did not exist. Also preserve any existing `css/launchpad-light.css` or `js/theme-toggle.js` before replacing them. A convenient complete backup is:

```bash
sudo tar -czf "/root/allmon3-full-before-launchpad-$STAMP.tar.gz" -C /usr/share allmon3
```

**Note:** The full backup preserves symlinks, so keep any linked `/etc/allmon3/custom.css` as well if applicable.

3. From the extracted package directory, install the files:

```bash
sudo install -m 0644 index.html /usr/share/allmon3/index.html
sudo install -m 0644 css/launchpad-light.css /usr/share/allmon3/css/launchpad-light.css
sudo install -m 0644 js/theme-toggle.js /usr/share/allmon3/js/theme-toggle.js
```

**Important custom.css symlink check:**

```bash
ls -l /usr/share/allmon3/css/custom.css
```

If it is a symlink (for example to `/etc/allmon3/custom.css`), **do not overwrite it blindly**. Copy the package stylesheet to its existing target, after backing up that target:

```bash
TARGET=$(readlink -f /usr/share/allmon3/css/custom.css)
echo "CSS target: $TARGET"
# Verify TARGET is the expected local CSS file before proceeding.
sudo cp -a "$TARGET" "$TARGET.before-launchpad-$STAMP"
sudo install -m 0644 css/custom.css "$TARGET"
```

If it is a regular file, run:

```bash
sudo install -m 0644 css/custom.css /usr/share/allmon3/css/custom.css
```

If the destination is missing, the regular-file command also creates it.

4. Test the existing Allmon3 URL, usually `https://YOUR-HOST/allmon3/`. Hard-refresh the browser (Ctrl+Shift+R). Confirm the dark interface, theme toggle, light interface, mobile navigation, node list and live connection updates.

5. There is normally **no need to restart Apache** for static CSS, JavaScript and HTML file changes. If an Apache configuration change was made separately, test it with `sudo apache2ctl configtest` before reloading.

## Quick checks

```bash
ls -l /usr/share/allmon3/index.html /usr/share/allmon3/css/custom.css \
  /usr/share/allmon3/css/launchpad-light.css /usr/share/allmon3/js/theme-toggle.js
curl -I http://127.0.0.1/allmon3/
```

The curl check only verifies the local HTTP endpoint if your Apache serves one. If your setup is HTTPS-only or uses a different path, test that configured URL instead. A successful HTTP response does not prove that the live node backend works.

## Troubleshooting

- **Old styling persists:** hard-refresh or clear the site cache. Confirm `custom.css` points to the stylesheet you installed, especially if it is a symlink.
- **Light/dark button missing:** check that the package `index.html` and `js/theme-toggle.js` are both installed; inspect browser Developer Tools for 404 errors.
- **Light theme fails:** verify `css/launchpad-light.css` is readable and that browser requests succeed.
- **Nodes missing or disconnected:** the package does not configure nodes; inspect the recipient's existing Allmon3 backend and configuration. Do not copy node-specific settings from another server.
- **HTTPS warning:** certificates, DNS, reverse proxies and embedded resources are independent of this theme. Diagnose them separately.
- **Upstream Allmon3 update:** it may replace `index.html` or alter markup. Keep backups and recheck compatibility before reapplying the package.

See `ROLLBACK.md` for restoration instructions.
