Server
Deploy and manage servers on Ryvn
Servers are HTTP/HTTPS services that handle web traffic and serve content to users. They’re ideal for web applications (Next.js, React), APIs (FastAPI, Go), and any service that needs to respond to HTTP requests. Each server runs in a containerized environment with automatic load balancing, health monitoring, and zero-downtime deployments.
Your application must bind to host 0.0.0.0
to receive HTTP traffic. Binding to localhost
or 127.0.0.1
will
prevent the service from receiving external requests.
Installation Configuration
When you deploy a service to an environment, it creates an installation. An installation is a running instance of your service with its own configuration, resources, and scaling settings. For example, you might have:
- A production installation with high availability and strict security in a customer’s cloud
- A production multi-tenant installation in your cloud serving multiple customers
- A development installation with minimal resources for testing in your cloud
Networking Mode
Every server needs a networking mode that determines its accessibility and security boundaries. Choose the right mode based on your service’s requirements and security needs:
Port Configuration
Specify which port your application listens on. While any available port can be used, we recommend following standard conventions (e.g., 3000 for Node.js, 8080 for Java, 80 for nginx).
Environment Variables
Define environment-specific configuration and secrets. See our guide on environment variables for secure configuration management and best practices.
Health Checks
Configure health monitoring to ensure zero-downtime deployments. Health checks verify critical dependencies and help Ryvn manage traffic routing and container lifecycle. Learn more about health check configuration.
Auto-scaling
Set up dynamic scaling based on traffic patterns and resource utilization. Ryvn automatically adjusts the number of instances based on your configured metrics. Read about scaling configuration and monitor through metrics.
Resource Management
Define compute resources for predictable performance. Set appropriate CPU and memory limits to ensure consistent performance. Understanding Kubernetes basics can help with optimal resource configuration.
Release Management
Control deployment rollouts using release channels with automated and manual controls. Configure promotion policies, approvals, and automatic rollbacks. Learn more about release channels, rollbacks, and maintenance windows.