- Buildpacks: Automatically detects your application type and builds a container
- Dockerfile: Builds your application using your custom Dockerfile
Prerequisites
Before you begin, ensure you have:- A GitHub repository with your application code (and optionally a Dockerfile)
- Environment provisioned in AWS, Google Cloud, or Azure
Create Your Service
Open Dashboard
Open the Ryvn Dashboard and go to the Services tab
Choose Service Type
Select your service type:
| Type | Description |
|---|---|
| Server | Long-running service that handles HTTP/HTTPS traffic |
| Job | Short-lived task that runs to completion |
| Terraform | Infrastructure as code service for managing cloud resources |
| Chart | Custom Kubernetes workloads via Helm charts |
Select Build Method and Repository
Choose your build method:
- GitHub: Uses buildpacks to automatically detect and build your application
- Dockerfile: Builds using your custom Dockerfile
Configure Build
Select the branch to deploy from (defaults to
main)For Dockerfile builds: Specify the Dockerfile location (defaults to ./Dockerfile)For Terraform services: You can optionally specify a path to the directory containing your Terraform configuration if it’s not in the repository root.Setup GitHub Actions (Optional)
After creating your service, you’ll have the option to set up GitHub Actions for automated deployments. Click Setup GitHub Actions to create a workflow that automatically builds and deploys your application when you push changes.See GitHub Actions Integration for detailed setup instructions.
Deploy to Environment
Navigate to Environment
Go to the Environments tab in the Ryvn Dashboard and select the environment where you want to deploy your application.
Configure Installation
Review and adjust your installation settings: - Resource allocation - Port configuration (if deploying a server) -
Environment variables
Automated Deployments with GitHub Actions
For server, Terraform, and Helm Chart services, you can set up automated deployments using GitHub Actions. This integration enables:- Automatic builds and deployments when you push code
- Version management through Git tags
- Synchronized releases between GitHub and Ryvn
- Controlled deployments through release channels
- During service creation (recommended)
- Later through the service’s menu options
Release Management
Ryvn integrates with your existing release workflow:- Use release channels for staged deployments
- Configure maintenance windows for updates
- Enable automatic rollbacks for failed deployments
- Track release history across environments
Troubleshooting
Buildpack Requirements
When using buildpacks, your application should:- Have a clear entry point (e.g.,
package.jsonfor Node.js,requirements.txtfor Python) - Listen on the port specified by
PORTenvironment variable (if a server) - Handle process signals properly for graceful shutdowns
- Properly specify all dependencies in your repository
Dockerfile Requirements
When using a Dockerfile, ensure your Dockerfile:- Uses specific base image tags (not
latest) - Defines a valid ENTRYPOINT or CMD
- Handles process signals properly for graceful shutdowns