canonical-livepatch-server

By Canonical Verified account

View on Snapcraft.io
Versionv1.20.0
Revision74
Size28.3 MB
LicenseProprietary
Confinementstrict
Basecore22

Canonical Livepatch Server


Canonical Livepatch Server enables the delivery of Livepatch's to Livepatch clients, allowing reboots of critical infrastructure to be scheduled at a convenient time.

Requirements:
  • PostgreSQL 12

Quick Start:
  • Install the snap
  sudo snap install canonical-livepatch-server
  • Now we require a Postgres database, for simplicity let's launch Postgres via docker:
  docker run \
  --name postgresql \
  -e POSTGRESUSER=livepatch \
  -e POSTGRESPASSWORD=testing \
  -p 5432:5432 \
  -d postgres:12.11
  • Migrate the database, run:
  canonical-livepatch-server.schema-tool \
  postgresql://livepatch:testing@localhost:5432/livepatch
  • Update Livepatch with the DSN of our local Postgres, run:
  sudo snap \
  set canonical-livepatch-server \
  lp.database.connection-string=postgresql://livepatch:testing@localhost:5432/livepatch
  • We can check the server is running via the logs:
  sudo snap logs \
  canonical-livepatch-server.livepatch -n 100

If you're a customer of Ubuntu Pro and have access to Livepatch on-premise, you can enable on-premise within the snap the same as you would for the charm.

You can obtain your token from: https://ubuntu.com/pro/dashboard

Here is a quick how-to:

  • Set your token via running:
  sudo snap set canonical-livepatch-server token=<Ubuntu Pro token>
  • Install the server admin tool:
  sudo snap install canonical-livepatch-server-admin
  • Set an environment variable for the admin tool to discover your snap server:
  export LIVEPATCH_URL=http://localhost:8080
  • Set a basic user on the server, for example sake here is one with the username admin and password admin123, note, dollar signs must be escaped and the password but be bcrypt hashed:
  sudo snap set canonical-livepatch-server \
  lp.auth.basic.users=\
  admin:\$2y\$10\$c25NVkdeIMqWdbgR4883YuE/s2CT1mCmGPm5Ma1XbUqGqM26ClTGe

If you'd like to generate your own,

  sudo apt-get install apache2-utils
  htpasswd -bnBC 10 <username> <password>
  • Enable basic authentication:
  sudo snap set canonical-livepatch-server lp.auth.basic.enabled=true
  • Login with your admin tool:
  canonical-livepatch-server-admin.livepatch-admin login -a admin:admin123
  • Synchronise hosted patches into your snap server:
  canonical-livepatch-server-admin.livepatch-admin sync trigger 

To set the server to automatically sync patches from Canonical's servers every 12 hours, you can run the following commands,

  sudo snap set canonical-livepatch-server lp.patch-sync.enabled=true
  sudo snap set canonical-livepatch-server lp.patch-sync.interval=12h

You are now ready to connect clients to your snap Livepatch instance! Currently the server is set (by default) to use file storage for the patches, you can actually see the patches here:

  ls /var/snap/canonical-livepatch-server/common/patches/

Update History

v1.19.1 (73)v1.20.0 (74)
15 Apr 2026, 10:00 UTC
v1.18.1 (71)v1.19.1 (73)
30 Mar 2026, 13:57 UTC
v1.17.18 (66)v1.18.1 (71)
4 Mar 2026, 13:01 UTC

Published28 Sept 2022, 21:16 UTC

Last updated9 Apr 2026, 13:51 UTC

First seen13 Dec 2025, 09:47 UTC