# Homey Self-Hosted Server on Linux | Megathread

**URL:** <https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436>\
**Category:** Homey Self-Hosted Server\
**Created:** [December 5, 2025, 2:11pm UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436 "2025-12-05T14:11:58Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![Mike\_Roher](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/mike_roher/32/79538_2.png) [@Mike\_Roher](https://community.homey.app/u/Mike_Roher)\
**Post date:** [January 23, 2026, 9:20am UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/22 "2026-01-23T09:20:21Z")

</div>

The description states that the data is safe because it’s not in the container. That’s incorrect. So, how do I create a backup? The specified folder is empty 🤷‍♂️

---

<div class="post-metadata">

**Author:** ![bjornb](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bjornb/32/17214_2.png) [@bjornb](https://community.homey.app/u/bjornb)\
**Post date:** [January 23, 2026, 9:28am UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/23 "2026-01-23T09:28:32Z")

</div>

No data separately in ~/.homey-shs (or somewhere else if you configured that?).

(I have created a cron job that do a nightly backup in a script performing docker pause, backup of data and then unpause on mine).

---

<div class="post-metadata">

**Author:** ![Mike\_Roher](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/mike_roher/32/79538_2.png) [@Mike\_Roher](https://community.homey.app/u/Mike_Roher)\
**Post date:** [January 23, 2026, 9:36am UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/24 "2026-01-23T09:36:05Z")

</div>

The job is executed by Linux itself? And the entire container is backed up? A short guide would be great.

---

<div class="post-metadata">

**Author:** ![bjornb](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bjornb/32/17214_2.png) [@bjornb](https://community.homey.app/u/bjornb)\
**Post date:** [January 23, 2026, 9:57am UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/25 "2026-01-23T09:57:05Z")

</div>

I am somewhat familiar with linux, but not docker so I asked chatgp for advice.

In the YML I am storing the data in a different place than default:  
`volumes:`  
`- /srv/homey/data:/homey/user`

Script:

> ```bash
> bjornb@NUC:~$ cat /usr/local/bin/homey-backup.sh
> #!/bin/bash
> set -e
> 
> BACKUP_DIR="/var/backups/homey"
> DATA_DIR="/srv/homey/data"
> COMPOSE_FILE="/srv/homey/homey-shs.yml"
> TIMESTAMP=$(date +"%Y-%m-%d_%H-%M")
> BACKUP_FILE="$BACKUP_DIR/homey-backup-$TIMESTAMP.tar.gz"
> KEEP_DAYS=14
> 
> echo "[INFO] Starting Homey backup: $TIMESTAMP"
> 
> # Stop Homey cleanly
> #docker compose -f "$COMPOSE_FILE" down
> docker pause homey-shs
> 
> # Create backup
> tar -czf "$BACKUP_FILE" -C /srv/homey data
> 
> # Restart Homey
> #docker compose -f "$COMPOSE_FILE" up -d
> docker unpause homey-shs
> 
> # Remove backups older than KEEP_DAYS
> find "$BACKUP_DIR" -type f -name "homey-*.tar.gz" -mtime +$KEEP_DAYS -delete
> 
> echo "[INFO] Backup completed successfully"
> bjornb@NUC:~$
> 
> ```

(I have not tried to do a an actual restore yet, but the tar.gz file does contain a lot of data).

The script is running nightly as a cron job.

---

<div class="post-metadata">

**Author:** ![Mike\_Roher](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/mike_roher/32/79538_2.png) [@Mike\_Roher](https://community.homey.app/u/Mike_Roher)\
**Post date:** [January 23, 2026, 10:20am UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/26 "2026-01-23T10:20:18Z")

</div>

thank you 👌

---

<div class="post-metadata">

**Author:** ![Nerfoc](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/nerfoc/32/120782_2.png) [@Nerfoc](https://community.homey.app/u/Nerfoc)\
**Post date:** [February 14, 2026, 9:59pm UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/27 "2026-02-14T21:59:27Z")

</div>

Hi, I just tried to set this up, but I’m not getting passed the initial setup of the SHS. I’ll type my setup first.

```auto
OS: Debian GNU/Linux 13.3 (trixie)
ARCH: x86_64
CPU: AMD Ryzen AI 9 HX 370 w/ Radeon 890M
MEM: 96GB

Docker: 29.2.1, build a5c7197

```

Please note this server has _ **two** _ network interfaces. One listening on 192.168.1.150, and the other listening on 192.168.2.150. I have it set up this way due to wanting the server to host different things to different networks. I’ll be using the 192.168.1.150 network for this setup. My phone is also connected to this network.

Docker compose setup I’m using:

```auto
services:
  homey-shs:
    image: ghcr.io/athombv/homey-shs:latest
    container_name: homey-shs
    restart: unless-stopped
    network_mode: host
    privileged: true
    environment:
      HOMEY_LOCAL_ADDRESS: 192.168.1.150
    volumes:
      - ~/.homey-shs:/homey/user

```

When I start the container with `docker compose -f homey/docker-compose.yml up -d`, I get the following logs:

```auto
~$ docker logs -f homey-shs 
Service:dbus-daemon Starting...
Service:dbus-daemon Started after 1 attempt(s)
Service:rrdcached Starting...
Service:rrdcached Started after 1 attempt(s)
Service:avahi-daemon Starting...
Service:avahi-daemon Started after 1 attempt(s)
Service:homey-matter net.ipv6.conf.default.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.default.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.default.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.enp196s0.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.enp196s0.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.enp196s0.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.enp197s0.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.enp197s0.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.enp197s0.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.br-cc16be30c4ce.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.br-cc16be30c4ce.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.br-cc16be30c4ce.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.br-e10820daf033.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.br-e10820daf033.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.br-e10820daf033.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.docker0.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.docker0.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.docker0.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.br-5655cf6ac45f.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.br-5655cf6ac45f.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.br-5655cf6ac45f.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.br-809dc0ee90fa.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.br-809dc0ee90fa.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.br-809dc0ee90fa.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.flannel.1.disable_ipv6=null (0)
Service:homey-matter net.ipv6.conf.flannel.1.accept_ra=null (2)
Service:homey-matter net.ipv6.conf.flannel.1.accept_ra_rt_info_max_plen=null (64)
Service:homey-matter net.ipv6.conf.cni0.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.cni0.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.cni0.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth11c5df8.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth11c5df8.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth11c5df8.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth2f555f7.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth2f555f7.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth2f555f7.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.vethe5a4e26.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.vethe5a4e26.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.vethe5a4e26.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.vethcef0611d.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.vethcef0611d.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.vethcef0611d.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth0ed823b1.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth0ed823b1.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth0ed823b1.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.vethecaf7016.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.vethecaf7016.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.vethecaf7016.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth4a9bffe9.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth4a9bffe9.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth4a9bffe9.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth67b7bb82.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth67b7bb82.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth67b7bb82.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth33b424da.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth33b424da.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth33b424da.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth58879440.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth58879440.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth58879440.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth818fc7c7.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth818fc7c7.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth818fc7c7.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth4d4a201f.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth4d4a201f.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth4d4a201f.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth65e89c0d.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth65e89c0d.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth65e89c0d.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth3ccfc9cc.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth3ccfc9cc.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth3ccfc9cc.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth45c7e4da.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth45c7e4da.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth45c7e4da.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.vetha553d555.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.vetha553d555.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.vetha553d555.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth666f7ee4.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth666f7ee4.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth666f7ee4.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.vethb63b550f.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.vethb63b550f.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.vethb63b550f.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth1fdc2370.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth1fdc2370.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth1fdc2370.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.vethdcf2e0eb.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.vethdcf2e0eb.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.vethdcf2e0eb.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.vethae69f6e4.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.vethae69f6e4.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.vethae69f6e4.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.vethd86d1952.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.vethd86d1952.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.vethd86d1952.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.vethf1fb39ab.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.vethf1fb39ab.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.vethf1fb39ab.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth87fdac4e.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth87fdac4e.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth87fdac4e.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.vethd6ffa591.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.vethd6ffa591.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.vethd6ffa591.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth1319724e.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth1319724e.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth1319724e.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth6c05f7a8.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth6c05f7a8.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth6c05f7a8.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth0588505b.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth0588505b.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth0588505b.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.vethbfbe472d.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.vethbfbe472d.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.vethbfbe472d.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth94be781.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth94be781.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth94be781.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth2b203b2.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth2b203b2.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth2b203b2.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter net.ipv6.conf.veth715e946.disable_ipv6=0 (0)
Service:homey-matter net.ipv6.conf.veth715e946.accept_ra=2 (2)
Service:homey-matter net.ipv6.conf.veth715e946.accept_ra_rt_info_max_plen=64 (64)
Service:homey-matter Starting...
Service:homey-matter Started after 1 attempt(s)
Service:homey-matter:socket Connect Called
Server Starting server..
SQLite Connecting...
DBus Connected
SQLite Setting journal_mode to WAL
SQLite Connected
Server HTTP Server Listening on http://0.0.0.0:4859
Server HTTPS Server Listening on http://0.0.0.0:4860
Server Missing Homey ID
Server Starting Setup...
Avahi Advertising homeysetup
Setup Started...
Setup 
┌───────────────────────────────────────────────────────────┐
│ Homey Self-Hosted Server is ready to be activated! │
│ │
│ 1. Open the Homey app for iOS & Android. │
│ 2. Navigate to Add new Homey → Homey Self-Hosted Server. │
│ 3. Follow the on-screen instructions to activate. │
│ │
│ In case this server is not found automatically, │
│ enter the IP address http://192.168.1.150:4859 │
└───────────────────────────────────────────────────────────┘
    
Service:homey-matter:socket Connecting to: unix:/run/homey-matter.sock
Service:homey-matter:socket Connected After 1 attempt(s)

```

So the next step I follow is booting up the app on my iPhone, and go through the setup:

 ![IMG_7391.PNG](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/3/3/33c2431914b4aebf3e37077c80e1416b5293cbfa.jpeg)

As I near the end of the setup, I get an error that something went wrong. When retrying, it continuously fails. When I check the logs, I see the following:

```auto
Setup Activating: Homey Serial shs-XXXX
Avahi Stop advertising homeysetup.local
Server Initializing Homey...
Setup Stopping...
Avahi Advertising homey XXXX
Homey [log] Inited ManagerDatabaseLocal
Homey [log] Inited ManagerFlowToken
Homey [log] Inited ManagerApiLocal
Homey [log] Inited ManagerArpLocal
Homey [log] Inited ManagerBLE
Homey [log] Inited ManagerClock
Homey [log] Inited ManagerCoprocessorLocal
Homey [log] Inited ManagerDashboards
Homey [log] Inited ManagerDevkitLocal
Homey [log] Inited ManagerDiscoveryLocal
Homey [log] Inited ManagerDriversLocal
Homey [log] Inited ManagerExperimentsLocal
Homey [log] Inited ManagerIconsLocal
Homey [log] Inited ManagerMoods
Homey [log] Inited ManagerRFLocal
Homey [log] Inited ManagerSafety
Homey [log] Inited ManagerSecurity
Homey [log] Inited ManagerSessionsLocal
Homey [log] Inited ManagerVideos
Homey [log] Inited ManagerWebserver
Homey [log] Inited ManagerDevicesLocal
Homey [log] Inited ManagerWeatherLocal
Homey [log] Inited ManagerFlowLocal
Homey [log] Inited ManagerMobileLocal
Homey [log] Inited ManagerAlarmsLocal
Homey [log] Inited ManagerPresence
Homey [log] Inited ManagerCronLocal
Homey [log] Inited ManagerLogicLocal
Homey [log][ManagerSatellitesLocal] Listening on tcp://0.0.0.0:4861
Homey [log] Inited ManagerSatellitesLocal
Homey [log] Inited ManagerAppsLocal
Homey [log] Inited ManagerVirtualDeviceLocal
Homey [log] Inited ManagerZonesLocal
Homey [log] Inited ManagerUsersLocal
Homey [log][ManagerCloud] Connecting to https://connect.homeyshs.net ...
Homey [log][ManagerCloud] State: connecting
Homey [log] Inited ManagerCloud
Homey [log] Inited ManagerImagesLocal
Homey [log][ManagerEnergyDongleLocal] Listening on port 4862
Homey [log] Inited ManagerEnergyDongleLocal
Homey [log] Inited ManagerInsightsLocal
Service:homey-matter Initializing daemon with parameters: {
  nodeId: 1,
  fabricId: 1,
  vendorId: 5180,
  port: 0,
  enableServerInteractions: false,
  paaPath: '/homey/user/matter-certs/paa'
}
Homey [log][ManagerMatterLocal] Migrating Matter nodes...
Homey [log] Inited ManagerMatterLocal
Homey [log][ManagerMatterLocal] Matter node migration completed
Homey [log] Inited ManagerGeolocationLocal
Homey [err][ManagerWeatherLocal] Error Getting Weather: Error: Missing Location
Homey [err][ManagerWeatherLocal] Error Logging Weather: Missing Location
Homey [log] Inited ManagerGoogleAssistantLocal
Homey [err][ManagerMatterLocal] Could not initialize matter daemon: MatterError: Could not init Matter daemon (Matter code: ENDPOINT_POOL_FULL (0x00c1))
    at wrapMatterError (file:///app/packages/homey-local/node_modules/@athombv/homey-matter/dist/util/Util.js:209:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
    at async HomeyMatter.init (file:///app/packages/homey-local/node_modules/@athombv/homey-matter/dist/HomeyMatter.js:94:26)
    at async MatterDaemon.initializeMatter (file:///app/packages/homey-local/lib/MatterDaemon.mts:209:38)
    at async ManagerMatterLocal.onMatterDaemonConnected (file:///app/packages/homey-local/lib/ManagerMatterLocal.mts:574:5) {
  code: 193,
  original: RPCError: Error response for conversation 0. Domain: 2, code: 193
      at RPCManager.handleIncomingResponse (file:///app/node_modules/@athombv/homey-rpc/dist/RPCManager.js:355:27)
      at RPCManager.parseIncomingData (file:///app/node_modules/@athombv/homey-rpc/dist/RPCManager.js:329:25)
      at RPCManager.onIncomingData (file:///app/node_modules/@athombv/homey-rpc/dist/RPCManager.js:260:36)
      at Socket.<anonymous> (file:///app/node_modules/@athombv/homey-rpc/dist/RPCManager.js:59:18)
      at Socket.emit (node:events:508:28)
      at addChunk (node:internal/streams/readable:559:12)
      at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
      at Readable.push (node:internal/streams/readable:390:5)
      at Pipe.onStreamRead (node:internal/stream_base_commons:189:23) {
    code: 193,
    serviceId: 2
  },
  serviceId: 2
}
Homey [log] Inited ManagerUpdates
Homey [log] Inited ManagerNotificationsLocal
Homey [log] Inited ManagerZigbeeSatellite
Homey [log][ManagerCloud] Connected. Handshaking...
Homey [log][ManagerCloud] State: handshaking
Homey [log] Inited ManagerSystem
Homey [log] Inited ManagerZwaveSatellite
Homey [log] Inited ManagerI18n
Homey [log] Inited ManagerEnergyLocal
Homey [log][ManagerEnergyLocal] Scheduling cron jobs
Homey [log][ManagerCloud] Handshake Success
Homey [log][ManagerCloud] Namespace: /XXXX
Homey [log][ManagerCloud] Cloud URL: https://XXXX.connect.athom-prod-euwest1-001-shs.homeyshs.net/
Homey [log][ManagerCloud] Namespace Connected
Homey [log][ManagerCloud] State: connected
Homey [log][ManagerCloud] Connected
Homey [log][ManagerCloud] Update: {"users":[{"userId":"XXXX-XXXX-XXXX-XXXX-XXXX","athomId":"XXXX","name":"XXX","role":"owner","enabled":true,"enabledUntil":null}],"experiments":[],"channel":"stable","name":"Homey Self-Hosted Server","language":"en","ipInternal":"192.168.1.150","mdnsUrl":"ai.local","portHttp":4859,"portHttps":4860,"portBridgeV1":4861,"portBridgeV2":4862}
Server HTTP GET /manager/system/ping
Server HTTP GET /manager/system/ping → Success 200
Homey [log][ManagerCloud] Refreshing SSL Certificate...
Homey [log][ManagerCloud] Refreshed SSL Certificate
Server HTTP GET /manager/system/ping
Server HTTP GET /manager/system/ping → Success 200
Server HTTP POST /manager/users/login
Server HTTP POST /manager/users/login → Error 500: jwt expired
Homey [log][ManagerCloud] Proxy GET /api/manager/system/ping?id=XXXX
Server HTTP GET /manager/system/ping
Server HTTP GET /manager/system/ping → Success 200
Server HTTP GET /manager/system/ping
Server HTTP GET /manager/system/ping → Success 200
Server HTTP GET /manager/system/ping
Server HTTP GET /manager/system/ping → Success 200
Server HTTP POST /manager/users/login
Server HTTP POST /manager/users/login → Error 500: jwt expired
Homey [log][ManagerCloud] Proxy GET /api/manager/system/ping?id=XXXX
Server HTTP GET /manager/system/ping
Server HTTP GET /manager/system/ping → Success 200
Server HTTP GET /manager/system/ping
Server HTTP GET /manager/system/ping → Success 200
Server HTTP GET /manager/system/ping
Server HTTP GET /manager/system/ping → Success 200
Homey [log][ManagerCloud] Proxy GET /api/manager/system/ping?id=XXXX
Server HTTP POST /manager/users/login
Server HTTP POST /manager/users/login → Error 500: jwt expired
Server HTTP GET /manager/system/ping
Server HTTP GET /manager/system/ping → Success 200
Server HTTP GET /manager/system/ping
Server HTTP GET /manager/system/ping → Success 200
Server HTTP GET /manager/system/ping
Server HTTP GET /manager/system/ping → Success 200
Server HTTP POST /manager/users/login
Server HTTP POST /manager/users/login → Error 500: jwt expired
Homey [log][ManagerCloud] Proxy GET /api/manager/system/ping?id=XXXX
Server HTTP GET /manager/system/ping
Server HTTP GET /manager/system/ping → Success 200
Server HTTP GET /manager/system/ping
Server HTTP GET /manager/system/ping → Success 200
Server HTTP GET /manager/system/ping
Server HTTP GET /manager/system/ping → Success 200
Server HTTP POST /manager/users/login
Server HTTP POST /manager/users/login → Error 500: jwt expired
Homey [log][ManagerCloud] Proxy GET /api/manager/system/ping?id=XXXX
Server HTTP GET /manager/system/ping
Server HTTP GET /manager/system/ping → Success 200

```

I can see that the homey self-hosted server is registered under my Homey account, under “my self-hosted servers”.

I keep getting the Error 500: jwt expired. Unsure how to fix this. I’ve tried using the `docker run` setup instead of docker-compose. I’ve tried repeatedly to remove the ~/.homey-shs directory and do a clean install (also removed it from my homey account, of course).

For the records all of this is happening in the timespan of a couple of minutes. Less than five. I’m not waiting an hour before continuing onto the next step. So a JWT expiry feels odd, as most of those stay active for at least like 10 minutes of inactivity.

It’s an odd issue, one that I can’t seem to find anything about on the forum. Does anybody have any clue on this issue?

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [February 15, 2026, 12:01am UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/28 "2026-02-15T00:01:11Z")

</div>

I can advice one thing: _ **when troubles, start simple** _  
Using dual NIC’s and vlans can drive you nuts 🤪

I’d temporary disable the second NIC (192.168.2.150) and connect the machine and phone to a simple network (if possible).  
Remove the 2 lines with  
`environment `  
`HOMEY_LOCAL_ADDRESS`

I don’t say this is the fix, but I suspect it’s network related.

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [February 15, 2026, 6:33am UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/29 "2026-02-15T06:33:37Z")

</div>

Sounds like possibly a time sync issue?

---

<div class="post-metadata">

**Author:** ![Nerfoc](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/nerfoc/32/120782_2.png) [@Nerfoc](https://community.homey.app/u/Nerfoc)\
**Post date:** [February 15, 2026, 9:12am UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/30 "2026-02-15T09:12:23Z")

</div>

This was it! Apparently I never installed `systemd-timesyncd`, so the server time was off by like 10 minutes. In my mind I was thinking it was maybe related to a domain issue or something, since I’ve had issues with JWT’s on that before, but I never realized the time might have been off.

Thanks!

---

<div class="post-metadata">

**Author:** ![Sean2526](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sean2526/32/121017_2.png) [@Sean2526](https://community.homey.app/u/Sean2526)\
**Post date:** [February 21, 2026, 3:34am UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/31 "2026-02-21T03:34:30Z")

</div>

Can’t seem to get the docker container to run when IPv6 is completely disabled on the host.

```shell
Service:rrdcached Started after 1 attempt(s)
Service:homey-matter net.ipv6.conf.default.disable_ipv6=null (0)
Service:avahi-daemon Starting...
Service:avahi-daemon Started after 1 attempt(s)
Service:homey-matter net.ipv6.conf.default.accept_ra=null (2)
Service:homey-matter net.ipv6.conf.default.accept_ra_rt_info_max_plen=null (64)
Service:homey-matter net.ipv6.conf.ens33.disable_ipv6=null (0)
Service:homey-matter net.ipv6.conf.ens33.accept_ra=null (2)
Service:homey-matter net.ipv6.conf.ens33.accept_ra_rt_info_max_plen=null (64)
Service:homey-matter Starting...
Service:homey-matter Started after 1 attempt(s)
Service:homey-matter:socket Connect Called

```

---

<div class="post-metadata">

**Author:** ![bupemko](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bupemko/32/120823_2.png) [@bupemko](https://community.homey.app/u/bupemko)\
**Post date:** [February 21, 2026, 11:09am UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/32 "2026-02-21T11:09:57Z")

</div>

Based on other topics ipv6 seems to be needed for matter support.

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [February 21, 2026, 6:08pm UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/33 "2026-02-21T18:08:23Z")

</div>

Absolutely

But if one doesn’t want/need Matter/Thread, and doesn’t want to enable ipv6, SHS seems impossible to use.  
Looks like Athom assumed “everybody wants Matter”?

---

<div class="post-metadata">

**Author:** ![Mitchell\_Homey](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/mitchell_homey/32/125728_2.png) [@Mitchell\_Homey](https://community.homey.app/u/Mitchell_Homey)\
**Post date:** [March 23, 2026, 10:54pm UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/34 "2026-03-23T22:54:41Z")

</div>

Anyone has issues running it on Ubuntu with Docker and SHS not getting a port assisgned if using network\_mode: host? See my latest post here: [Homey Self-Hosted Server with Docker on Linux | Megathread - #40 by Mombasa](https://community.homey.app/t/homey-self-hosted-server-with-docker-on-linux-megathread/146441/40) Anyone has idea’s? Would be apprenticed!

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [March 23, 2026, 11:11pm UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/35 "2026-03-23T23:11:19Z")

</div>

Please don’t double post; if there’s a serious urgency, at least cross link to the other post.  
I replied to your duplicate post

> [@Homey Self-Hosted Server with Docker on Linux | Megathread](https://community.homey.app/t/homey-self-hosted-server-with-docker-on-linux-megathread/146441/41):
>
> I have bought a mini PC and installed Ubuntu and Docker to run Homey SHS. I have one major problem: if I follow the instructions on [https://support.homey.app/hc/en-us/articles/24010537261980-How-to-install-Homey-Self-Hosted-Server-with-Docker-on-Linux](https://support.homey.app/hc/en-us/articles/24010537261980-How-to-install-Homey-Self-Hosted-Server-with-Docker-on-Linux) But with network\_mode: host, I dont get a port. I see my container in Docker, with no port(s) so it won’t work. If I remove and force the port with something like this: –name homey-shs –restart=always -p 4859:4859 -p 4860:4860 My Homey SHS wor…

[@moderators](https://community.homey.app/groups/moderators)

---

<div class="post-metadata">

**Author:** ![H\_C\_Croon](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/h_c_croon/32/177497_2.png) [@H\_C\_Croon](https://community.homey.app/u/H_C_Croon)\
**Post date:** [October 6, 2026, 12:38pm UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/36 "2026-10-06T12:38:45Z")

</div>

I installed homey-shs on linux mint 22.3 under docker. This installation shows correct. In mobile homey app I activated Homey-shs. But app won’t connect to homey-shs. Firewall is configured to allow homey port 4859 for both udp and tcp. Docker shows [http://192.168.2.6:4859](http://192.168.2.6:4859) as LAN address to be used. After two days searching I am desperate. Please help.

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [October 7, 2026, 9:06pm UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/37 "2026-10-07T21:06:06Z")

</div>

> [@H\_C\_Croon](#):
>
> But app won’t connect to homey-shs

Please show the exact error msg.

Also, can you discover any errors in docker?  
To view logs, execute:

`$ docker compose -f homey-shs.yml logs --follow`

KB article:  
[https://support.homey.app/hc/en-us/articles/24010537261980-How-to-install-Homey-Self-Hosted-Server-with-Docker-on-Linux](https://support.homey.app/hc/en-us/articles/24010537261980-How-to-install-Homey-Self-Hosted-Server-with-Docker-on-Linux)

---

<div class="post-metadata">

**Author:** ![H\_C\_Croon](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/h_c_croon/32/177497_2.png) [@H\_C\_Croon](https://community.homey.app/u/H_C_Croon)\
**Post date:** [October 8, 2026, 7:06am UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/38 "2026-10-08T07:06:15Z")

</div>

Thank very much you for your response!

The error message is “Homey Offline (Network request failed)”

My mobile and laptop are well connected to wifi, I can browse, receive my mails.

The link your send me was just the information that I used to configure docker end homey-shs.

I will check the logging of Docker tomorrow as today I am busy.

Greetings,

Harry Croon

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [October 8, 2026, 2:25pm UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/39 "2026-10-08T14:25:40Z")

</div>

> [@H\_C\_Croon](#):
>
> The link your send me was just the information that I used to configure docker end homey-shs.

True. I sent the link to be sure you use the correct information.  
Some use AI to set up an SHS instance, and AI can make stuff up.

---

<div class="post-metadata">

**Author:** ![H\_C\_Croon](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/h_c_croon/32/177497_2.png) [@H\_C\_Croon](https://community.homey.app/u/H_C_Croon)\
**Post date:** [October 8, 2026, 8:34pm UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/40 "2026-10-08T20:34:03Z")

</div>

L.S.,

As an attachment the homey log. At the end is adviced to add the LAN address if connection is not automatically found. But I don’t see in the homey app any means to accomplish it.

Also homey-shs is not mentioned in the problem solving part of homey app.

Here I get stuck.

Greetings,

Harry Croon

(Attachment homey\_log8a26.txt is missing)

---

<div class="post-metadata">

**Author:** ![H\_C\_Croon](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/h_c_croon/32/177497_2.png) [@H\_C\_Croon](https://community.homey.app/u/H_C_Croon)\
**Post date:** [October 9, 2026, 10:23am UTC](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436/41 "2026-10-09T10:23:29Z")

</div>

L.S.,

Included the homey log. At the end is adviced to add the LAN address if connection is not automatically found. But I don’t see in the homey app any means to accomplish it.

Also homey-shs is not mentioned in the problem solving part of homey app.

Here I get stuck.

Greetings,

Harry Croon

\*\*\*\*\*\*\*\*\*\*\* Homey-SHS log \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

homey-shs | Server Received SIGTERM. Uniniting…  
homey-shs | Server Stopping Server…  
homey-shs | Avahi Stop advertising homey  
homey-shs | Avahi No homey advertisement to stop  
homey-shs | Service:homey-matter:socket Socket Disconnected  
homey-shs | Service:homey-matter Disconnected from Matter daemon  
homey-shs | Service:homey-matter Stopping…  
homey-shs | Service:rrdcached Stopping…  
homey-shs | Service:avahi-daemon Stopping…  
homey-shs | Service:go2rtc Stopping…  
homey-shs | Service:go2rtc Exited with code 0 and signal null  
homey-shs | Service:go2rtc Stopped  
homey-shs | Service:avahi-daemon Exited with code 0 and signal null  
homey-shs | Service:avahi-daemon Stopped  
homey-shs | Service:homey-matter Exited with code null and signal SIGABRT  
homey-shs | Service:homey-matter Stopped  
homey-shs | Service:rrdcached Exited with code 0 and signal null  
homey-shs | Service:rrdcached Stopped  
homey-shs | Service:dbus-daemon Stopping…  
homey-shs | Service:dbus-daemon Exited with code null and signal SIGINT  
homey-shs | Service:dbus-daemon Stopped  
homey-shs | Service:dbus-daemon Starting…  
homey-shs | Service:dbus-daemon Started after 1 attempt(s)  
homey-shs | Service:go2rtc Starting…  
homey-shs | Service:rrdcached Starting…  
homey-shs | Service:rrdcached Started after 1 attempt(s)  
homey-shs | Service:avahi-daemon Starting…  
homey-shs | Service:avahi-daemon Started after 1 attempt(s)  
homey-shs | Service:homey-matter net.ipv6.conf.default.disable\_ipv6=0 (0)  
homey-shs | Service:homey-matter net.ipv6.conf.default.accept\_ra=2 (2)  
homey-shs | Service:go2rtc Generated config at /run/go2rtc/go2rtc.yaml  
homey-shs | Service:homey-matter net.ipv6.conf.default.accept\_ra\_rt\_info\_max\_plen=64 (64)  
homey-shs | Service:homey-matter net.ipv6.conf.wlp3s0.disable\_ipv6=0 (0)  
homey-shs | Service:homey-matter net.ipv6.conf.wlp3s0.accept\_ra=2 (2)  
homey-shs | Service:homey-matter net.ipv6.conf.wlp3s0.accept\_ra\_rt\_info\_max\_plen=64 (64)  
homey-shs | Service:homey-matter Starting…  
homey-shs | Service:homey-matter Started after 1 attempt(s)  
homey-shs | Service:homey-matter:socket Connect Called  
homey-shs | Service:homey-matter:socket Connecting to: unix:/run/homey-matter.sock  
homey-shs | Service:homey-matter:socket Connected After 1 attempt(s)  
homey-shs | Service:go2rtc API is ready  
homey-shs | Service:go2rtc Started after 1 attempt(s)  
homey-shs | Server Starting server..  
homey-shs | SQLite Connecting…  
homey-shs | DBus Connected  
homey-shs | SQLite Connected  
homey-shs | Server HTTP Server Listening on [http://0.0.0.0:4859](http://0.0.0.0:4859)  
homey-shs | Server HTTPS Server Listening on [http://0.0.0.0:4860](http://0.0.0.0:4860)  
homey-shs | Server Missing Homey ID  
homey-shs | Server Starting Setup…  
homey-shs | Avahi Advertising homeysetup  
homey-shs | Setup Started…  
homey-shs | Setup  
homey-shs | ┌───────────────────────────────────────────────────────────┐  
homey-shs | │ Homey Self-Hosted Server is ready to be activated! │  
homey-shs | │ │  
homey-shs | │ 1. Open the Homey app for iOS & Android. │  
homey-shs | │ 2. Navigate to Add new Homey → Homey Self-Hosted Server. │  
homey-shs | │ 3. Follow the on-screen instructions to activate. │  
homey-shs | │ │  
homey-shs | │ In case this server is not found automatically, │  
homey-shs | │ enter the IP address [http://192.168.2.6:4859](http://192.168.2.6:4859) │  
homey-shs | └───────────────────────────────────────────────────────────┘  
homey-shs |

\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* end of Homey-SHS log \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*8

(Attachment homey\_log8a26.txt is missing)

[Previous page](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436.md?page=1)

[Next page](https://community.homey.app/t/homey-self-hosted-server-on-linux-megathread/146436.md?page=3)
