v0.11.0

psviderski/uncloudv0.11.0Aug 7, 2025by psviderski

AI Summary

This release adds a `--recreate` flag to the deploy command for forcing container recreation, introduces a prompt to reset machines during initialization if they're already cluster members, and changes the default container restart policy from `always` to `unless-stopped`. The restart policy change is the main breaking change in this release.

Key Highlights

  • Added `--recreate` flag to deploy command for forcing container recreation
  • Machine init/add commands now prompt to reset already-initialized machines
  • Changed default restart policy from `always` to `unless-stopped`
  • New restart policy allows stopped containers to remain stopped after reboot

Breaking Changes

  • Default restart policy changed from `always` to `unless-stopped` - containers that were previously configured to always restart will now behave differently (they'll remain stopped after reboot unless manually restarted)

New Features

  • --recreate flag for deploy command to force container recreation
  • Interactive prompt to reset machines during init/add if already cluster member
  • Default restart policy changed to `unless-stopped` allowing manual control of container state

Full Release Notes

## What's new

### Force service redeployment

Added `--recreate` flag to the `deploy` command to force container recreation even if their configuration and image haven't changed. This is particularly useful when you've pushed updated images directly to machines using tools like [unregistry](https://github.com/psviderski/unregistry), and need to redeploy services to use the updated images without changing their tags. Or just want to test the redeployment process without changing the service configuration.

<img width="872" height="583" alt="Screenshot 2025-08-07 at 6 23 01 pm" src="https://github.com/user-attachments/assets/17df29f8-facc-43e4-bebe-b2b252fe2101" />

### Reset machine on initialisation

`machine init` and `machine add` commands now ask you whether to reset the machine if they detect that the machine is already a cluster member. This helps when:
- Repurposing a machine that was previously part of a different Uncloud cluster
- Recovering from a failed or incomplete previous installation
- Starting fresh after testing or experimentation with Uncloud


<img width="870" height="591" alt="Screenshot 2025-08-07 at 6 25 49 pm" src="https://github.com/user-attachments/assets/1b98cc59-1440-4715-bc70-1b3b8fb0591b" />

### Default restart policy

Changed the default restart policy for service containers from `always` to `unless-stopped`. This allows you to stop containers manually and have them remain stopped even after a system reboot or Docker restart.



## Upgrade to 0.11.0

### Uncloud CLI locally

To upgrade the Uncloud CLI (`uc`) locally:

```bash
# Homebrew (macOS, Linux)
brew upgrade uncloud

# Install script (macOS, Linux)
curl -fsS https://get.uncloud.run/install.sh | sh
```

### Machine daemon

To upgrade the Uncloud daemon on your machines, run the following commands on each machine:

```bash
# AMD64
curl -fsSL -o uncloudd.tar.gz https://github.com/psviderski/uncloud/releases/download/v0.11.0/uncloudd_linux_amd64.tar.gz
# ARM64
# curl -fsSL -o uncloudd.tar.gz https://github.com/psviderski/uncloud/releases/download/v0.11.0/uncloudd_linux_arm64.tar.gz
tar -xf uncloudd.tar.gz
sudo install uncloudd /usr/local/bin/uncloudd
rm uncloudd uncloudd.tar.gz
sudo systemctl restart uncloud
```

## Changelog
* ae9f943404d3a27116835e304384b339e66a5138 chore: change default restart policy for service containers `always` -> `unless-stopped`
* 8805178a58632c8b55e16d7ec9bc3915a88d0369 doc: Add Sentry to sponsors
* 2e585d0183db7a6bd4b6e69325fa392778552676 feat: add --recreate flag for deploy command to force container recreation
* ec3de3a0993a298e0298d8392113ef7b992a4b53 feat: ask whether to reset already initialised machine on 'machine init/add'