Gladys Assistant

How to run Gladys Assistant on any Linux device (Raspberry Pi, Ubuntu VM, NVIDIA Jetson, etc)

In this short tutorial we will demonstrate how to install a modern and lightweight home assistant on your device. Gladys is a privacy-first, open-source home assistant.

With this setup you will enjoy having:

  • Remote HTTPS access to Gladys web interface

  • Remote SSH access

  • Ability to monitor CPU/Memory utilisation

  • OTA (over the air) updates

Install Synpse agent

First, you will need to install Synpse agent on your device. Please follow one of the suggested installation methods from here. In most cases it will be just running the installation command:

Deploy Gladys Assistant

Once you have your device connected to Synpse. Create a new application:

name: gladys
scheduling:
  type: Conditional
  selectors:
    type: rpi # Update to your device selector
spec:
  containers:
    - name: gladys
      image: gladysassistant/gladys:v4
      networkMode: host # Host network as it needs to scan it for devices
      privileged: true
      volumes:
        - /data/gladysassistant:/data/gladysassistant
        - /dev:/dev
        - /run/udev:/run/udev
        - /var/run/docker.sock:/var/run/docker.sock
      env:
        - name: NODE_ENV
          value: production
        - name: SERVER_PORT
          value: "8080"
        - name: TZ
          value: Europe/London # Change to your timezone
        - name: SQLITE_FILE_PATH
          value: /data/gladysassistant/gladys-production.db

Data on the device will be stored in the /data/gladysassistant/ directory. This will ensure that after updating the Gladys Assistant Docker image your configuration doesn't disappear.

Getting public HTTPS URL to Gladys

To connect to Gladys you can either access it directly on http://<device IP>:8080 or you can expose it to the internet by setting port 8080 in the device details and click on the public endpoint button:

After enabling, you should see your device URL in a format similar to https://xxx.synpse.cloud . Open it and complete the initial configuration steps (or restore it from the previous backup).

Once done, you should have your username/password based authentication on the public URL:

SSH access

Through Synpse you can always using web interface to open an SSH terminal to your device. Use this when debugging any issues or downloading/uploading backups from your device:

FAQ

Q: Gladys Assistant container won't start, what do I do?

A: There are a number of things you should check:

  1. Is the device in the Devices page online? (should be a green dot next to the 'online' status)

  2. Does the label on the device (for example 'type: rpi') match the selector in the application?

  3. Is the container image being pulled successfully? DockerHub introduced rate limit for image pulls so you might need to enter your username/password. Check out application specification section of the docs on how to setup Docker registry authentication.

  4. Check Gladys logs. To do that, the easiest way is to go your application, then click on Allocations and then click on "logs".

Q: Gladys was working but I cannot reach it anymore

A: Check whether device is online in the Devices page. If it's offline, the device might not have power or the internet connection is down.

Last updated