Session Debian/Ubuntu software repository ========================================= This repository contains debian/ubuntu builds of Session Foundation software such as: - the core oxen tools (oxend, cli/rpc wallets, blockchain tools) - Oxen GUI wallet [oxen-electron-wallet] - Session [Package name: session-desktop] - oxen-service-node metapackage for a simple service node setup - oxen-storage-server for running a service node - lokinet packages for getting on lokinet or for running a service node - session-router packages for getting on session router or running a service node - various other session related libraries and tools with packages built for recent Debian and Ubuntu releases. Requirements ------------ One of: - Debian 11 ("bullseye") - Debian 12 ("bookworm") - Debian 13 ("trixie") - Debian testing ("forky") - Debian unstable ("sid") - Ubuntu 22.04 ("jammy") - Ubuntu 24.04 ("noble") - Ubuntu 25.10 ("questing") *** *** - following Ubuntu's own support schedule, non-LTS Ubuntu releases will be supported for 9 months (i.e. giving a 3 month upgrade window to the next release). Some Ubuntu-derived distributions (Mint, Elementary OS) will likely work as well using the Ubuntu packages of the appropriate version, but are less tested. KEY ROTATION (2026-01-22): ========================== (Skip this section if you are setting up the apt repository for the first time). As of 1 February 2026, the Session apt repository signing key will rotate to use a more secure signing algorithm, required (starting 2026-02-01) by Debian 13 and recent Ubuntu versions. This requires that existing users update their machine to install the updated signing public keys to be able to install and update Session-related debian/ubuntu packages from this repository. It is safe to update this key right away (before we start signing with the new key): the updated key is able to validate the repository packages using both the old and new existing keys. If you used a prior version of these instructions (on or before 2026-01-22) then you will have the old public keys installed, and need to download the new Session Foundation key to continue to receive package updates starting on Feb 1st. The following is the simplest way of downloading the new key so that the existing configuration will continue to work. DO NOT USE THIS IF YOU ARE SETTING UP THE REPOSITORY FOR THE FIRST TIME! sudo curl -so /etc/apt/trusted.gpg.d/session-foundation.gpg https://deb.session.foundation/pub.gpg You do not need to modify your existing oxen.list repository sources config files for this to work. Alternatively you can switch to the modernized source files and better security configuration described below by deleting the existing /etc/apt/trusted.gpg.d/oxen.gpg and /etc/apt/sources.list.d/oxen.list files and then following the directions below, which are updated to limit the Session repository key validity to just the Session repository (the older method would accept it as a valid signer of *any* repository). If, as of February 1st, you start seeing errors when updating package lists such as: GPG error: https://deb.oxen.io bookworm InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 401E790E060BB00E or: Missing key 3025F17897F46CB5538178CA401E790E060BB00E, which is needed to verify signature. that means we have rotated the signing key and you need to install the updated one. Setting it up (TL;DR version) ============================= Set up this repository on your system by running the following: sudo curl -so /usr/share/keyrings/session-foundation.gpg https://deb.session.foundation/pub.gpg cat </etc/apt/sources.list.d/session.sources Types: deb URIs: https://deb.session.foundation Suites: $(lsb_release -sc) Components: main Signed-By: /usr/share/keyrings/session-foundation.gpg EOF apt update Or this alternative that crams the session.sources content into one line and might be easier to copy and paste (this one also requires being logged in as root already): curl -so /usr/share/keyrings/session-foundation.gpg https://deb.session.foundation/pub.gpg echo -e "Types: deb\nURIs: https://deb.session.foundation\nSuites: $(lsb_release -sc)\nComponents: main\nSigned-By: /usr/share/keyrings/session-foundation.gpg" >/etc/apt/sources.list.d/session.sources apt update (You only need to do this once). Once set up you can install Session, for example, via: sudo apt install session-desktop Or you can install a service node using: sudo apt install oxen-service-node The services will run via systemd as `oxen-node.service`, `oxen-storage-server.service`, `lokinet-router.service`, and `session-relay-router.service`. If you want to run a lokinet *client* you can install it with: sudo apt install lokinet (you may need a little extra configuration to resolve .loki addresses -- see lokinet documentation) Long is good, will read: ======================== Initial repository setup ------------------------ You only need to do this step the first time you want to set up the repository; once you've done it once, the repository will automatically update whenever you fetch new system updates. To add the apt repository, you first need to store a copy of the repository signing key. This can be done with: sudo curl -so /usr/share/keyrings/session-foundation.gpg https://deb.session.foundation/pub.gpg Next you need to create a file in /etc/apt/sources.list.d with a .sources extension (session.sources is a decent choice, but you can call it whatever you want) containing the repository info. The contents of that file should be the following (without indent): Types: deb URIs: https://deb.session.foundation Suites: DISTRO (see below!) Components: main Signed-By: /usr/share/keyrings/session-foundation.gpg The DISTRO value should be changed to one of the following release codenames, based on your installed distribution: - sid (Debian unstable) - forky (Debian testing, eventually Debian 14) - trixie (Debian 13) - bookworm (Debian 12) - questing (Ubuntu 25.10) - noble (Ubuntu 24.04) - jammy (Ubuntu 22.04) The `lsb_release -sc` command will print our what your distro's codename should be. Note that for some Debian- or Ubuntu-derived distros, you might have to figure out which Debian/Ubuntu version your distro is based on and use the codename of the base distribution rather than the derived distribution. For example, Linux Mint 22.x is based on Ubuntu 24.04 and so would use `noble` on the Suites: line rather than Mint's codename. If you are wondering which release to use (for example for a new service node installation), generally stick to the most recent Debian release, or the most recent LTS Ubuntu release (which are the "even-number".04, e.g. 22.04, 24.04); other Ubuntu releases (24.10, 25.04) are short-lived support (e.g. 9 months) both by Ubuntu and ourselves. Once you have set the repositories up, update your local package cache with: sudo apt update Now you can install one or more of the following packages as desired: - session-service-node -- metapackage that does everything you need for a running service node - oxend -- the oxen daemon (automatically pulled in by session-service-node) - oxen-storage-server -- the oxen storage server, required for a service node (automatically pulled in by session-service-node) - lokinet-router -- the lokinet binaries + configuration for running lokinet as a router - lokinet -- the lokinet binaries + configuration for running a client or snapp - session-router-relay -- the session router binaries + configuration for a service node relay (automatically pulled in by oxen-service-node) - session-desktop -- the Session messenger There are also a various lib* library packages, development packages, and utilities, but these will generally be installed automatically as needed. For example, to install and start up a brand new service node: sudo apt install session-service-node To install a non-service-node oxend: sudo apt install oxend For installing the Session desktop client: sudo apt install session-desktop For more information on setting up a service node (using this repository) see: https://docs.getsession.org/session-network/session-nodes Upgrading --------- When new releases are available upgrading it requires two steps: Sync with the repository: sudo apt update and then install any updates using: sudo apt upgrade Note that this will install both updated oxend packages *and* any available system updates (this is generally a good thing!). If for some reason you want to install only individual updated package upgrade then install of the `sudo apt upgrade` you can use: sudo apt install session-desktop oxend (or whatever other packages you want): the `install` command will ensure the latest version of each listed package is installed, upgrading if necessary. Reporting issues ---------------- Contact me via @jagerman42 (Telegram) or jagerman (on Session).