Skip to content

Deployment

Piora offers multiple flexible deployment methods. Whether your project uses Git version control, pre-built Docker images, or multi-service Docker Compose architectures, you can easily deploy to your VPS.

MethodUse CaseAuto Build
Git DeploySource code in GitHub/GitLab, need automated CI/CDYes (Nixpacks / Buildpacks)
Docker DeployPre-built Docker images or custom DockerfilesOptional
Compose DeployMulti-container apps with inter-service dependenciesNo

Piora includes multiple build tools that can automatically detect your language and framework:

  • Nixpacks — Default build tool, supports most languages and frameworks, fast builds
  • Buildpacks — Cloud Native Buildpacks, broad compatibility
  • Railpack — Optimized for Ruby on Rails and similar frameworks
  • Dockerfile — Use your own Dockerfile for full control over the build process

Regardless of the deployment method, Piora’s deployment flow is roughly:

  1. Trigger deployment — Manually or automatically via Git push / Webhook
  2. Build image — Generate a Docker image using the selected build tool
  3. Health check — Verify the new container starts correctly
  4. Traffic switch — Traefik automatically routes traffic to the new container
  5. Cleanup — Remove old container versions

All deployment methods support environment variable configuration. You can set environment variables for each application in the Piora dashboard:

DATABASE_URL=postgresql://user:pass@db:5432/mydb
NODE_ENV=production
PORT=3000
SECRET_KEY=your-secret-key

Environment variables are automatically injected into containers at deployment time and stored encrypted in the dashboard.