Skip to content

Demo app that uses Genkit to manage smarthome fixtures.

Notifications You must be signed in to change notification settings

aaronblondeau/genkit-smarthome

Repository files navigation

genkit-smarthome

Demo project that explores the use of Genkit to manage a hypothetical smarthome.

App screenshot

App screenshot

The backend uses:

https://firebase.google.com/docs/genkit/

https://expressjs.com/

https://swagger-autogen.github.io/docs

The frontend uses:

https://picnicss.com/documentation

https://alpinejs.dev/

Getting started

First - create a .env file with your Google AI Studio API Key:

GOOGLE_GENAI_API_KEY=YourKeyHere

To debug flows with Genkit UI

npm i -g genkit
genkit start

To run the web application

npm install
npm run server

Deployment / Hosting

Temporarily hosted at https://smarthome.aaronblondeau.com/

Install caddy:

https://caddyserver.com/docs/install

Setup caddy by editing /etc/caddy/Caddyfile

Add these lines to the end of the file

smarthome.aaronblondeau.com { 
  reverse_proxy localhost:3000
}

Make sure .env file is in place and then launch the service with docker compose

docker compose up -d

Setup DNS records for smarthome.aaronblondeau.com (and wait a few)

Then finally, reload caddy config

sudo caddy reload 

To update to new code:

git pull origin main
docker compose up -d --no-deps --build genkit-smarthome

TODO

Process audio commands directly in browser?

About

Demo app that uses Genkit to manage smarthome fixtures.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published