View Source Exshome
DIY Elixir-based smart home.
system-dependencies
System dependencies
project-goals
Project goals
- 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.serveror inside IEx withiex -S mix phx.server. Now you can visitlocalhost:4000from 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
./exshomeThis 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.