## Building a Single-File Executable (Windows & Linux)
This app uses Go's `embed` package to bundle all static files (web UI, icons, CSS, etc.) into a single executable. You do **not** need to distribute the `web/` folder separately.
- You will need C building package, especially on Windows as this app using SQLITE, if you do not need password pushser, then remove it and you will not need it to make windows built.
- built scripts are in `app_build` folder, but may need fixing as the app is in development still and I built it on few computers when i have time.
- Use the tray menu to open the web UI or quit the app.
### 4. Usage Notes
- All static files (HTML, CSS, JS, icons) are embedded. No need to copy the `web/` folder.
- For custom icons, always convert to `.ico` for Windows tray compatibility.
- The favicon is served from the embedded files.
### 5. Troubleshooting
- If icons do not appear in the tray, ensure you used a `.ico` file for Windows.
- If you update static files, rebuild the executable to embed the latest changes.
### 5.1. If the Executable Still Has No Icon
If you followed all steps and the icon still does not appear:
- **Check icon.syso location:** It must be in the same folder as `main.go` when you run `go build`.
- **Check for multiple .syso files:** Only one `.syso` file should be present in your project root. Delete any others.
- **Try a different icon:** Some ICO files may be malformed or missing required sizes. Use a simple 32x32 or 64x64 PNG, convert again, and re-run `rsrc`.
- **Clear Windows icon cache:** Sometimes Windows caches icons. Move the `.exe` to a new folder, or restart Explorer.
- **Verify with Resource Hacker:** Download [Resource Hacker](http://www.angusj.com/resourcehacker/) and open your `.exe` to see if the icon is embedded. If not, the build did not pick up `icon.syso`.
- **Try building without cross-compiling:** If you are cross-compiling, try building directly on Windows.
- **Try go build without -ldflags:** Rarely, the `-ldflags` flag can interfere. Try building with and without it: