Set up homeMaker as a private home server accessible across your Tailscale network.
- Node.js 22+
- Docker and Docker Compose
- A Tailscale account with at least one machine enrolled
- An Anthropic API key
Create a .env file in the project root:
# Required
ANTHROPIC_API_KEY=sk-ant-...
# Vault encryption — generate with: openssl rand -hex 32
HOMEMAKER_VAULT_KEY=your-64-char-hex-key
# Ports
PORT=8579
HOST=0.0.0.0
# Data directory (persisted across container restarts)
DATA_DIR=/data
# Optional — weather widget
OPENWEATHERMAP_API_KEY=your-key
OPENWEATHERMAP_LAT=37.7749
OPENWEATHERMAP_LON=-122.4194
# Optional — sensor history
SENSOR_HISTORY_RETENTION_DAYS=30Generate the vault key with:
openssl rand -hex 32docker compose up -dThe UI is available at http://localhost:8578 and the API at http://localhost:8579.
- Install Tailscale on the host machine and sign in:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up- Find the machine's Tailscale hostname (e.g.,
my-home-server):
tailscale status- Access homeMaker from any Tailscale device:
http://my-home-server:8578
For a cleaner URL, set a Tailscale MagicDNS name and use:
http://homemaker:8578
All persistent data lives in the DATA_DIR volume and the homemaker.db SQLite file. Back up both:
# Stop the server to prevent write-ahead log splits
docker compose stop server
# Copy the data directory
rsync -av ./data/ /backup/homemaker-data/
# Copy the database
cp homemaker.db /backup/homemaker.db
# Restart
docker compose start serverSchedule with cron for automated nightly backups:
# crontab -e
0 2 * * * /home/user/homemaker/scripts/backup.sh- Configure IoT sensors to report readings to the server
- Set up the vault for encrypted credential storage
- Add maintenance schedules for home obligations