From febdc8f37089db75b9302ff69c93173d33fecee7 Mon Sep 17 00:00:00 2001 From: Frederic Van Espen Date: Tue, 24 Mar 2026 15:37:50 +0100 Subject: [PATCH 1/2] update readme for legacy OpenMowerOS --- README.md | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 13998b2..c8c0f81 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ At this time, "only" the map editor and some debug information are enabled. # Installation -This assumes you're on a recent OpenMowerOS v2 image. +## OpenMowerOS v2 1. Go to `http://:5001/compose/openmower` in your browser. 2. Switch to edit mode. @@ -33,3 +33,47 @@ This assumes you're on a recent OpenMowerOS v2 image. 5. Click the `Deploy` button. You can now access the app at `http://:3000` in your browser. + +## OpenMowerOS legacy + +For the legacy OpenMowerOS image you need to create a systemd service. Create a file at `/etc/systemd/system/openmower-app.service` with the following content: + +``` +[Unit] +Description=Podman container - openmower-app.service +Documentation=man:podman-generate-systemd(1) +Wants=network.target +After=network-online.target NetworkManager.service +StartLimitInterval=120 +StartLimitBurst=10 + +[Service] +Environment=PODMAN_SYSTEMD_UNIT=%n +Type=forking +Restart=always +RestartSec=15s +TimeoutStartSec=1h +TimeoutStopSec=120s + +ExecStartPre=/bin/rm -f %t/container-openmower-app.pid %t/container-openmower-app.ctr-id + +ExecStart=/usr/bin/podman run --conmon-pidfile %t/container-openmower-app.pid --cidfile %t/container-openmower-app.ctr-id --cgroups=no-conmon \ + --replace --detach --tty --privileged \ + --name openmower-app \ + --network=host \ + --label io.containers.autoupdate=image \ + ghcr.io/xtech/openmower-app:edge + +ExecStop=/usr/bin/podman stop --ignore --cidfile %t/container-openmower-app.ctr-id -t 10 +ExecStopPost=/usr/bin/podman rm --ignore --force --cidfile %t/container-openmower-app.ctr-id +PIDFile=%t/container-openmower-app.pid + +[Install] +WantedBy=multi-user.target default.target +``` + +Then enable the service and start it: +```bash +sudo systemctl enable openmower-app.service +sudo systemctl start openmower-app.service +``` From 56a095dd647b9cefc06ae35569c8578f4336ae67 Mon Sep 17 00:00:00 2001 From: Frederic Van Espen Date: Fri, 27 Mar 2026 10:20:04 +0100 Subject: [PATCH 2/2] updates after review --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c8c0f81..859025f 100644 --- a/README.md +++ b/README.md @@ -58,9 +58,9 @@ TimeoutStopSec=120s ExecStartPre=/bin/rm -f %t/container-openmower-app.pid %t/container-openmower-app.ctr-id ExecStart=/usr/bin/podman run --conmon-pidfile %t/container-openmower-app.pid --cidfile %t/container-openmower-app.ctr-id --cgroups=no-conmon \ - --replace --detach --tty --privileged \ + --replace --detach --tty \ --name openmower-app \ - --network=host \ + --publish 3000:3000/tcp \ --label io.containers.autoupdate=image \ ghcr.io/xtech/openmower-app:edge @@ -74,6 +74,7 @@ WantedBy=multi-user.target default.target Then enable the service and start it: ```bash -sudo systemctl enable openmower-app.service -sudo systemctl start openmower-app.service +sudo systemctl enable --now openmower-app.service ``` + +You can now access the app at `http://:3000` in your browser.