First steps:
sudo apt install avahi-daemon(for mDNS)- Rename
.env.templatein root directory to.env - Rename
services/home/.dev_pgpass.templateto.dev_pgpass- TODO: password
- Disable publishing in Avahi config
- Edit
/etc/avahi/avahi-daemon.conf - Set
disable-publishing=yes - Restart service with
sudo systemctl restart avahi-daemon
- Edit
- Generate certs for controller:
mkdir ./services/controller/certs
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout ./services/controller/certs/key.pem \
-out ./services/controller/certs/cert.pem
Updated steps; need a private CA now:
-
Generate a private CA certificate (
ca.crtandca.key) -
Generate private key (
server.key) -
Create CSR (
server.csr) -
Use the private CA (
ca.crtandca.key) to sign the CSR (server.csr), creatingserver.crtfor each domain -
Include
subjectAltNamefor the domain in the certificate (important for modern browsers) -
openssl genrsa -out ca.key 2048
-
openssl req -x509 -new -nodes -key ca.key -sha256 -days 365 -out ca.crt -subj "/C=US/ST=State/L=City/O=YourOrg/OU=YourUnit/CN=YourCA"
-
openssl genrsa -out server.key 2048
-
openssl req -new -key server.key -out server.csr -subj "/C=US/ST=State/L=City/O=YourOrg/OU=Controller/CN=home.local"
docker compose --profile optional up -d
cd client
npm i
npm run <android | ios | web>
adb -s <emulator-name> reverse tcp:8000 tcp:8000Requires ESP-IDF v5.1.4
cd esp/dial
idf.py build flash monitorcd esp/lights
idf.py build flash monitorcd esp/environmental
idf.py build flash monitor- Change
HOME_ENVtoproductionin root.envfile - Point
jonshaw199.comandwww.jonshaw199.comto localhost in/etc/hosts