Deployments
Build, deploy, and manage application releases
Deployments
Deployments in Senate represent the process of building and releasing your application. Each deployment creates a new version of your service.
Deployment Sources
Senate supports multiple ways to deploy your application:
Docker Image
Pull a pre-built image from a registry:
nginx:latest
ghcr.io/your-org/your-app:v1.2.3
your-registry.com/app:latestBest for: Production deployments with CI/CD pipelines that build images externally.
Dockerfile
Build from a Dockerfile:
- Inline: Paste Dockerfile content directly in Senate
- Git Repository: Build from a Dockerfile in your repo
Best for: Simple applications or when you want Senate to handle builds.
Git Repository
Clone and build from a Git repository:
| Option | Description |
|---|---|
| Repository URL | HTTPS or SSH URL |
| Branch | Branch to deploy (default: main) |
| Dockerfile Path | Path to Dockerfile (default: ./Dockerfile) |
| Authentication | SSH key or access token for private repos |
Best for: Full GitOps workflow with automatic builds.
Compose (YAML)
For multi-container applications:
- Inline YAML: Paste docker-compose.yml content
- Git Repository: Use compose file from repo
- Profile: Select specific compose profile
- Override: Provide override YAML for customization
Deployment Process
When you click Deploy, Senate executes these steps:
1. Pull/Build → Download image or build from source
2. Create → Create new container(s)
3. Start → Start the container(s)
4. Health Check → Verify container is healthy (if configured)
5. Cleanup → Remove old container(s)
Deployment Strategies
Configure in the Advanced tab:
Recreate (Default)
- Stop old container
- Start new container
Pros: Simple, predictable Cons: Brief downtime during switch
Rolling Update
- Start new container
- Wait for health check
- Route traffic to new container
- Stop old container
Pros: Zero downtime Cons: Requires health checks, briefly runs two containers
Configure rolling update options:
| Option | Description | Default |
|---|---|---|
| Health Check Timeout | Max wait for healthy state | 60s |
| Connection Drain Timeout | Time to wait before closing connections | 5s |
| Rollout Services | For compose: which services to roll | All |
Viewing Deployments
Deployment History
The Deployments tab shows all deployments:
- Status indicator
- Timestamp
- Duration
- Trigger source (manual, webhook, auto)
- Git commit info (if applicable)
Click any deployment to view its logs.

Deployment Logs
View real-time or historical logs:
- Build output
- Pull progress
- Container startup logs
- Error messages
Automatic Deployments
Webhook Triggers
Each service has a unique webhook URL:
https://senate.example.com/api/services/<service-id>/deploy?token=<secret-token>Configure in your CI/CD pipeline to trigger deployments on push. See CI/CD Integration for detailed setup instructions.
Related
- Services - Service management
- Environment Variables - Configuration
- CI/CD Integration - Automation guide