selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Platypush logo

Self-host Platypush

v1.3.35

Automation platform with hundreds of device integrations

ReleaseOpen SourceMIT
Updated11 hours ago
LanguagePython
Setup difficultyModerate
MobilePWA
Stars
317
Port
8008 (HTTP API and web interface)
Docker
quay.io/platypush/platypush
Install with Docker
Platypush web interface previewIntegrations overviewZ-Wave web panelCustom dashboard with calendar, weather, media, sensorsGrafana visualization integrationBlog article viewBrowser extension interfaceTelegram bot integrationMedia panel with multiple sourcesMachine learning model visualization

What is Platypush?

Platypush is a general-purpose automation platform that runs on any device with a Python interpreter, from Raspberry Pi to servers. It uses a plugin architecture with hundreds of integrations for smart home devices, media players, sensors, voice assistants, chat bots, and cloud services. Users create automation routines as hooks that trigger actions when events occur, written in YAML or Python. The platform includes a responsive web interface with dashboards, entity management, and plugin configuration, plus a Progressive Web App for mobile and an official Android app on F-Droid. It exposes HTTP/JSON-RPC and WebSocket APIs for external control. The core is lightweight, dispatching messages over Redis, with SQLite as the default database (MySQL/PostgreSQL supported). Installation options include Docker, Docker Compose, pip, system packages, and manual setup. The project is MIT-licensed and actively maintained.

Should you self-host Platypush?

Platypush scores 53/100 on selfhost.directory (how scoring works) and ranks #52 of 104 in Home Automation. It has 317 GitHub stars.

It shipped 8 stable releases in the past year. The latest, v1.3.17, came out on 11 January 2026.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Home Assistant (91/100, 91 789 stars). It scores higher overall, so compare the two before you pick. See Platypush vs Home Assistant side by side.

Features

  • Android app
  • Browser Extension
  • Dashboards
  • Entity Management
  • Event-driven automation
  • HTTP/JSON-RPC API
  • Machine learning pipelines
  • Media Center
  • Plugin Architecture
  • Progressive Web App
  • Two-factor authentication
  • Voice assistants
  • Webhooks
  • Web Interface
  • WebSocket API

Platypush README

How to install Platypush

Install Platypush with Docker

Docker Engine
Environment variables
PLATYPUSH_DEVICE_ID, PLATYPUSH_API_TOKEN, PLATYPUSH_CONFIG, PLATYPUSH_WORKDIR, PLATYPUSH_DB, PLATYPUSH_REDIS_HOST, PLATYPUSH_REDIS_PORT, PLATYPUSH_REDIS_QUEUE, PLATYPUSH_REDIS_BIN

$ docker run -it --name platypush
-p 8008:8008
-e "PLATYPUSH_DEVICE_ID=my-device"
-v /path/to/your/platypush/config:/etc/platypush
-v /path/to/your/platypush/share:/var/lib/platypush
quay.io/platypush/platypush

Alpine-based image; amd64, arm64, armv7l architectures supported

How to configure Platypush

  • PLATYPUSH_API_TOKENOperator-level secret token for headless/containerized deployments

    Operator-level secret token for headless/containerized deployments

    values: any string

  • PLATYPUSH_CONFIG./config.yaml or ~/.config/platypush/config.yamlPath to config.yaml file

    Path to config.yaml file

    values: file path

  • PLATYPUSH_DBsqlite:///<WORKDIR>/main.dbDatabase engine URL (SQLAlchemy format)

    Database engine URL (SQLAlchemy format)

    values: SQLAlchemy engine URL

  • PLATYPUSH_DEVICE_IDhostname of the machineUnique identifier for a Platypush instance on a network

    Unique identifier for a Platypush instance on a network

    values: any string

  • PLATYPUSH_REDIS_BINredis-serverCustom redis-server executable

    Custom redis-server executable

    values: executable path

  • PLATYPUSH_REDIS_HOSTlocalhostRedis host

    Redis host

    values: hostname or IP

  • PLATYPUSH_REDIS_PORT6379Redis port

    Redis port

    values: port number

  • PLATYPUSH_REDIS_QUEUEplatypushRedis queue name

    Redis queue name

    values: queue name

  • PLATYPUSH_WORKDIR~/.local/share/platypush or /var/lib/platypushWorking directory for data storage

    Working directory for data storage

    values: directory path

Platypush releases & version history

More in IoT

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…