Repository for the software written in order to control the LED strips on my room's ceiling. The software consists of three distinct parts:
ceiled-web: a ReactJS website that serves as a remote control for displaying cool RGB colour patterns on the LED strips.ceiled-server: a TypeScript NodeJS web server that hosts a JSON WebSocket API and connects to a MongoDB database for authorisation. It is whatceiled-webtalks to in order to show its cool colours, and it is what carefully exposesceiled-driverto the internet.ceiled-driver: a low-level hardware driver written in Rust. This is what actually controls the LED strips. It accepts a simple yet powerful API through a UNIX socket.
| Branch | Build status |
|---|---|
| master | |
| develop |
See the individual ReadMe's. For a quickstart, open three terminals and run:
cd ceiled-drivercargo run -- --debug
cd ceiled-serveryarn installyarn start
cd ceiled-webyarn installyarn start
To get this system running in production, you'll need:
- Docker
- Docker Compose
- Access to a MongoDB database
Then create a .env file in this folder, and fill in any necessary environment variables. Here's an example:
INSECURE="true"
DB_HOST=192.168.0.123
DB_NAME=ceiled
DB_AUTH=admin
DB_USERNAME=dbuser
DB_PASSWORD=dbpass
or replace INSECURE="true" with HTTPS_FILES=https in order to specify that the ceiled-server should use the localhost.key.pem and localhost.cert.pem HTTPS key and certificate files in the https directory.
docker compose up --build -d
I'm working on some installation scripts to make it much easier for others to start using the CeiLED suite and keep it up to date. I will update this ReadMe once they are in this repository.