Overview: /dev/push is an open-source, self-hosted platform designed to replicate the seamless deployment experience of Vercel, Render, and Netlify—without vendor lock-in. It enables developers and DevOps teams to deploy applications written in Python, Node.js, PHP, or any Docker-compatible language with zero-downtime rollouts, real-time logging, and team-based access control. Built for users who value data sovereignty and infrastructure control, /dev/push runs entirely on your own server, using Docker and systemd for orchestration. It’s ideal for teams that need a deploy pipeline they can fully audit, customize, and maintain without relying on third-party SaaS platforms.
What You Get
- Git-based deployments - Automatically build and deploy applications when pushing to GitHub branches, with instant rollback capabilities and zero-downtime updates via Docker container swaps.
- Multi-language support - Deploy apps built with Python (Django, FastAPI, Flask), Node.js, PHP, or any language that can run in a Docker container without requiring language-specific plugins.
- Environment management - Configure and isolate environments per Git branch with encrypted environment variables stored in PostgreSQL, ensuring secrets are never exposed in code.
- Real-time monitoring - View live, searchable build and runtime logs for every deployment directly in the web UI, with SSE streaming for immediate visibility into application behavior.
- Team collaboration - Invite team members with role-based access control (admin, developer, viewer), manage permissions, and track activity through audit logs.
- Custom domains & SSL - Assign custom domains to deployments and automatically provision Let’s Encrypt certificates via HTTP-01 or DNS-01 challenges (Cloudflare, Route53, DigitalOcean supported).
- Self-hosted & MIT licensed - Run on your own Ubuntu/Debian server with full control over data, network, and infrastructure—no external dependencies or subscription fees.
Common Use Cases
- Building a multi-tenant SaaS dashboard with real-time analytics - Use /dev/push to deploy separate environments for each client using branch-based deployment, with isolated environment variables and custom domains per tenant.
- Creating a mobile-first e-commerce platform with 10k+ SKUs - Deploy backend services in Python (FastAPI) and frontend in Next.js with automated CI/CD pipelines, ensuring zero downtime during inventory updates.
- Problem: Vendor lock-in with Vercel → Solution: Self-hosted control - Organizations restricted by data residency laws or internal compliance policies use /dev/push to replicate Vercel’s UX while keeping all data and deployments on-premises.
- DevOps teams managing microservices across multiple cloud providers - Teams use /dev/push to standardize deployment workflows across AWS, Hetzner, or private data centers using the same tooling and configuration patterns.
Under The Hood
The project is a full-stack Python application built with FastAPI, designed to manage deployments and integrations with GitHub, domain verification, and real-time status updates. It emphasizes a modular architecture with asynchronous processing and integrates modern tools for development and infrastructure management.
Architecture
This codebase adopts a layered monolithic architecture that promotes separation of concerns and scalability through distinct services and routers. It applies service-oriented design principles along with dependency injection to enhance maintainability.
- Uses a layered architecture to isolate business logic from data access and presentation layers
- Implements service-oriented design with clear module boundaries and responsibilities
- Leverages dependency injection for improved testability and flexibility
Tech Stack
Built using Python and FastAPI, the project leverages modern asynchronous patterns to support high-performance API interactions. It integrates a variety of backend and frontend tools for a complete development experience.
- Employs Python with FastAPI and asynchronous programming for efficient API handling
- Integrates SQLAlchemy, Alembic, Redis, and Authlib to support database operations, migrations, caching, and authentication
- Uses Tailwind CSS, MJML, and npm scripts for styling, email templating, and frontend asset compilation
- Incorporates async testing patterns and Arq for background task processing
Code Quality
The codebase reflects a moderate level of quality with some consistency in structure and error handling practices. While type annotations are present, comprehensive test coverage remains limited.
- Type annotations are consistently applied across the codebase
- Error handling exists but is not uniformly enforced across all modules
- Code structure shows some variation in approach, indicating room for improved consistency
- API documentation is comprehensive and well-maintained
What Makes It Unique
This project stands out through its GitOps-focused deployment model and real-time infrastructure feedback mechanisms. It uniquely combines GitHub integration with domain validation and log aggregation in a single platform.
- Provides seamless GitHub App integration with automatic token refresh and installation lifecycle management
- Offers real-time deployment status updates using Redis streams for immediate feedback to users
- Includes built-in domain validation via DNS resolution to ensure proper configuration before deployment
- Features log aggregation and querying through Loki with support for structured parsing