diff --git a/docs/INSTALL.md b/docs/INSTALL.md
index e75934b21f..17213b6fe2 100644
--- a/docs/INSTALL.md
+++ b/docs/INSTALL.md
@@ -191,10 +191,12 @@ Pulse can self-update to the latest stable version.
| Platform | Command |
|----------|---------|
-| **Docker** | `docker pull rcourtman/pulse:vX.Y.Z && docker restart pulse` |
+| **Docker** | `docker compose pull && docker compose up -d` |
| **Kubernetes** | `helm repo update && helm upgrade pulse pulse/pulse -n pulse` |
| **Systemd / Proxmox LXC** | `sudo /bin/update` |
+Docker without Compose: `docker restart` keeps the old image running. Run `docker pull rcourtman/pulse:vX.Y.Z`, then `docker stop pulse && docker rm pulse` and re-run your original `docker run` command.
+
### Rollback
If an update causes issues on systemd installations, backups are created automatically during the update process.
diff --git a/frontend-modern/src/components/Settings/UpdateInstallGuide.tsx b/frontend-modern/src/components/Settings/UpdateInstallGuide.tsx
index 9d8614e18e..487ce8e5b1 100644
--- a/frontend-modern/src/components/Settings/UpdateInstallGuide.tsx
+++ b/frontend-modern/src/components/Settings/UpdateInstallGuide.tsx
@@ -162,14 +162,16 @@ export const UpdateInstallGuide: Component = (props) =>
- Or with Docker Compose:{' '}
+ Not using Compose?{' '}
- {buildIdleDockerComposeCommand()}
-
+ {buildIdleDockerUpdateCommand()}
+ {' '}
+ then re-run your original docker run command. A plain docker restart keeps the old
+ image running.
diff --git a/frontend-modern/src/components/Settings/updatesSettingsModel.ts b/frontend-modern/src/components/Settings/updatesSettingsModel.ts
index c87cd2f38f..56028f75f0 100644
--- a/frontend-modern/src/components/Settings/updatesSettingsModel.ts
+++ b/frontend-modern/src/components/Settings/updatesSettingsModel.ts
@@ -46,12 +46,12 @@ export function getUpdateChannelCardOptions(
];
}
-export function buildIdleDockerUpdateCommand(): string {
- return 'docker pull rcourtman/pulse:latest && docker restart pulse';
+export function buildIdleDockerComposeCommand(): string {
+ return 'docker compose pull && docker compose up -d';
}
-export function buildIdleDockerComposeCommand(): string {
- return 'docker-compose pull && docker-compose up -d';
+export function buildIdleDockerUpdateCommand(): string {
+ return 'docker pull rcourtman/pulse:latest && docker stop pulse && docker rm pulse';
}
export function buildUpdateInstallGuide(
@@ -96,19 +96,14 @@ export function buildUpdateInstallGuide(
introText,
steps: [
{
- id: 'docker-pull',
- title: 'Pull the latest image',
- command: `docker pull rcourtman/pulse:${dockerImageTag}`,
+ id: 'docker-compose-update',
+ title: 'Pull the new image and recreate the container',
+ command: 'docker compose pull && docker compose up -d',
},
{
- id: 'docker-restart',
- title: 'Restart the container',
- command: 'docker restart pulse',
- },
- {
- id: 'docker-compose-note',
+ id: 'docker-manual-note',
title: '',
- note: 'Or use Docker Compose: docker-compose pull && docker-compose up -d',
+ note: `Not using Compose? Run docker pull rcourtman/pulse:${dockerImageTag}, then docker stop pulse && docker rm pulse and re-run your original docker run command. A plain docker restart keeps the old image running.`,
},
],
};
diff --git a/frontend-modern/src/components/UpdateBanner.tsx b/frontend-modern/src/components/UpdateBanner.tsx
index c89562a3d3..964a009870 100644
--- a/frontend-modern/src/components/UpdateBanner.tsx
+++ b/frontend-modern/src/components/UpdateBanner.tsx
@@ -107,7 +107,7 @@ export function UpdateBanner() {
case 'proxmoxve':
return "ProxmoxVE users: type 'update' in console";
case 'docker':
- return 'Docker: pull latest image';
+ return 'Docker: pull image and recreate container';
case 'source':
return 'Source: pull and rebuild';
case 'mock':