Homey Self-Hosted Server on Linux | Megathread

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 :man_shrugging:

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).

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

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:

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.

2 Likes

thank you :ok_hand:

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.

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:

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:

~$ 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:

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:

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?

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

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.

Sounds like possibly a time sync issue?

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!

1 Like

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

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

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

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”?