automation
Building a Personal Automation Stack with Signal and FastAPI
Learn to create an automation stack using Signal messaging, FastAPI, and Docker Compose for seamless integration of microservices.
Shipped January 2026
Compose wiring for a personal automation stack integrating Signal messaging, an assistant core, and skill-based microservices.
Features
- Signal messaging integration using signal-cli REST API
- Notifier gateway to send and receive Signal messages securely
- Assistant core built on FastAPI with LangChain/LlamaIndex for AI-powered automation
- Modular skill services (e.g., weather service) with cron scheduling and webhook support
- Docker Compose setup for easy local deployment and development
- Secure token-based authentication and sender allowlists
Tech Stack
- Python 3.x
- FastAPI for API services
- signal-cli-rest-api Docker image for Signal messaging
- LangChain / LlamaIndex for AI assistant capabilities
- Docker Compose for multi-service orchestration
- Flask for notifier-gateway microservice
Getting Started
Prerequisites
- Docker and Docker Compose installed
- Clone this repo alongside
assistant-coreandweather-servicerepos
Installation & Run
# Copy environment template and edit
cp .env.example .env
# Edit .env to configure phone numbers, tokens, API keys, etc.
# Start all services
docker compose up -d --build
# Verify services
curl http://localhost:8088/status # assistant-core status
curl http://localhost:8789/run # weather-service run endpoint
curl http://localhost:8787/healthz # notifier-gateway health
Project Structure
automation-stack/
├── assistant-framework/ # Assistant core source
├── notifier-gateway/ # Signal notifier gateway microservice
├── signal-gateway/ # (Assumed Signal API related, not detailed)
├── weather-servb/ # Weather service skill container
├── weather-service-old/ # Legacy weather service implementation
├── docker-compose.yml # Compose file wiring all services
├── env-example.txt # Environment variables template
├── PLAN.md # Project plan and architecture notes
├── README.md # This file
Future Work / Roadmap
- Add more skill containers (metrics, reminders, etc.)
- Improve assistant-core with additional AI models and retrieval-augmented generation
- Enhance security with more granular sender whitelisting and token management
- Add observability features such as centralized logging and metrics
- Support multi-replica deployments with leader election for polling
- Refactor legacy weather-service and unify skill APIs
Note: Some assumptions were made about the signal-gateway directory and certain internal APIs based on the provided context.
Need more context?
Want help adapting this playbook?
Send me the constraints and I'll annotate the relevant docs, share risks I see, and outline the first sprint so the work keeps moving.