Skip to content
An home assistant on your Raspberry Pi built with Node.js
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Migrate from gladysproject to gladysassistant Jan 7, 2019
api Move blockstack to main repository (#489) May 19, 2019
assets Move blockstack to main repository (#489) May 19, 2019
cache add cache folder Mar 19, 2016
config Move blockstack to main repository (#489) May 19, 2019
docker 🐳 Docker multiarch support (#465) Feb 6, 2019
logs adding log folder Jun 12, 2015
tasks Copy hooks assets not only in api/hooks folder but in production and … Dec 6, 2018
test Migrate from gladysproject to gladysassistant Jan 7, 2019
views Move blockstack to main repository (#489) May 19, 2019
.codeclimate.yml configure codeclimate Oct 16, 2016
.dockerignore 🐳 Update .dockerignore to fix docker image build (#479) Feb 7, 2019
.env-sample Added an env sample to list which variables are available to customiz… Dec 15, 2016
.eslintrc.json Fix linting issue Oct 12, 2018
.gitignore First commit Mar 13, 2018
.jsbeautifyrc Update .jsbeautifyrc Oct 12, 2018
.npmignore Adding .env to npmignore. Dec 15, 2016
.prettierrc.json Fix linting issue Oct 12, 2018
.sailsrc first commit Jun 5, 2015
.travis.yml Fix stretch build (#486) Mar 3, 2019 Update changelog with version 3.14.0 May 19, 2019
Gruntfile.js first commit Jun 5, 2015
LICENSE Change Gladys Project to Gladys Assistant in README Jan 28, 2019 Fix minor errors in (#488) May 19, 2019
apidoc.json remove url from apidoc.json (bug) Jan 27, 2017
app.js Load dotenv file event on all environment (#470) Mar 3, 2019
dev.js Remove old license header on each file Jul 14, 2018
index.js in case of error, crash Mar 27, 2016
init.js Load dotenv file event on all environment (#470) Mar 3, 2019
jsdoc.json Migrate from gladysproject to gladysassistant Jan 7, 2019
package.json 3.14.0 May 19, 2019
yarn.lock Upgrade yarn.lock Jan 28, 2019

       GitHub release Build Status Contributions welcome Discourse posts GitHub Twitter Follow GitHub stars

What it does

Gladys is a home automation assistant to help you in your everyday life.

Yes, like a kind of JARVIS!

Gladys is connected to all your devices in your home. She is connected to your calendar and to lots of API to help you. But let's pick an example :

  • It's 8 AM. Gladys wakes you up automatically because she knows that you need to be at work at 9 AM, and that according to the traffic, you'll need 30 min to get to work with your car. She knows that you like 30 min to get ready. She wakes you up with a soft progressive warm light thanks to your Philips Hue, and puts on nice music in your room.
  • It's 8.10 AM. Gladys detects, thanks to a motion sensor, that you are getting out of bed. She immediately starts the wake-up scenario : she tells the coffee machine to prepare the coffee, and opens the blinds.
  • At 8.30 AM, you leave the house. Gladys detects, thanks to your smartphone, that you are not at home anymore, and shuts down everything inside.
  • At 6.30 PM, you are on your way home : Everything is ready when you arrive.
  • You are going to sleep, so you simply put your phone on your nightstand where a NFC tag is sticked. It immediately sends a request to Gladys to tell her you are going to sleep. She starts the "Going to sleep" scenario, and turns off all lights.

This is just a simple scenario, possibilities with Gladys are just endless ! Don't hesitate to propose yours :)

Interested in Gladys ? Try it at home, it's free and Open-Source !

Website :
Community :

Gladys Raspbian image has more than 32 000 downloads, and Gladys community has more than 2 000 members !

Who Am I?

My name is Pierre-Gilles Leymarie, I'm an indie maker, and recently I decided to move part-time on this open-source project Gladys!

As I'm working completely for free for the community, you can support this open-source project by subscribing to the Gladys Community Package!

Thanks a lot for your support 🙏

Current development

Mars 2019: We are currently working on the next major relase of Gladys, Gladys 4.

It'll be built on top of Node.js + preact.

If you want to help, join us on the repository GladysAssistant/gladys-4-playground.


  • Node.js ( >= v8.x.x )
  • MySQL / MariaDB
  • Command Line Tools
  •  Mac OS X: Xcode (or OS X 10.9 Mavericks: xcode-select --install)
  •  Windows: Visual Studio
  •  Ubuntu, Debian: sudo apt-get install build-essential

Getting Started

Installing Gladys on a Raspberry Pi

The easiest way to get started is to install on a Raspberry Pi Gladys with the Raspbian image. See for more informations.

Installing Gladys manually

First, clone this repository:

git clone gladys && cd gladys

Then install a few global dependencies:

npm install -g grunt-cli yarn

Install this project dependencies:


Now let's build the frontend:

grunt buildProd

Connect Gladys to MySQL

To connect Gladys to your database, you will need to set some environment variables. To do so, you'll have to create a .env file at the root of this project with the following content:


Note : You will need to create the database as well in MySQL:

CREATE DATABASE gladys CHARACTER SET utf8 COLLATE utf8_general_ci; -- or whatever name you've set in your .env file.`

Create tables

Gladys automatically creates all the tables it needs.

You need to execute the init script:

node init.js

Start Gladys

node app.js

Visit Gladys dashboard

If you are on localhost, visit: http://localhost:8080, or http://localhost:1337 if you are in development mode.

If you want to access Gladys anywhere on your local network, just replace localhost by the ip of your machine.

Starting Gladys in development mode

Install sails globally:

npm install -g sails

Then run:

sails lift

Upgrading Gladys inside the Raspbian image

Connect in command line to your Raspberry Pi, and execute the following command:


This will download new upgrades, stop Gladys and restart Gladys with the new version.


Pull requests are welcomed!



Copyright & License

Copyright (c) 2013-2019 Gladys Assistant - Released under the MIT license.

You can’t perform that action at this time.