View Source Exshome
DIY Elixir-based smart home.
system-dependencies
System dependencies
project-goals
Project goals
- Mobile-friendly
- Extensibility
- Test coverage
- Should support different Single Board Computers
getting-started-with-development
Getting started with development
- Install dependencies with
mix deps.get
- Setup database
mix ecto.setup
- Start Phoenix endpoint with
mix phx.server
or inside IEx withiex -S mix phx.server
. Now you can visitlocalhost:4000
from your browser.
launching-as-a-script
Launching as a script
You can use bin/exshome
to start an application. It is an executable Elixir script. It downloads Exshome and starts the application.
You can download the latest version here:
wget https://raw.githubusercontent.com/exshome/exshome/main/bin/exshome
chmod +x exshome
./exshome
This script supports these environment variables:
EXSHOME_VERSION
- Exshome version. You can get the latest available version at hex.pmEXSHOME_HOST
- Host to listnen on, default is "0.0.0.0".EXSHOME_PORT
- Application port, default is "5000".EXSHOME_ROOT
- Path where all application data resides, default is "${HOME}/.exshome".
caveats
Caveats
- UNIX domain socket length is limited to about 100 bytes. Application uses these sockets to communicate with MPV. It will not work if the path is larger.
security-considerations
Security considerations
Right now Exshome is designed to run in a home network, so it has no auth. It can be dangerous to open it for a whole Internet.