By default, applications deployed using Paketo Buildpacks or Dockerfiles are configured to listen on TCP port 5000, as this is the port pre-configured on the Kubernetes service.
However, we recognize that different applications and services have specific port requirements, and we offer an extended list of supported ports to cater to these needs.
Default TCP port: 5000
The TCP port 5000 is the cornerstone of our application routing architecture. This port is pre-configured within the Kubernetes service to ensure that all web traffic—whether HTTP or HTTPS—reaches your application efficiently. Specifically, the Kubernetes Ingress controller is set up to direct incoming web traffic to port 5000 on your application’s container.
Why port 5000?
-
Unified Traffic Routing: By standardizing on port
5000, we simplify the configuration process for developers, ensuring that any web application deployed on Miget can be easily accessed via the web. Whether users access your application through standard HTTP (port 80) or secure HTTPS (port 443), the Kubernetes Ingress will automatically route this traffic to port 5000 on your container.
-
Simplified Deployment: This standardization means that as a developer, you don’t need to worry about configuring your application to listen on different ports based on the environment. Instead, your web application should be configured to listen on port
5000 by default, ensuring it aligns perfectly with Miget’s routing configuration.
-
Optimized for Web Applications: Whether you’re deploying a traditional web application, an API service, or a microservices architecture, as long as your application listens on port
5000, Miget will handle the rest. This setup provides an out-of-the-box solution for web traffic management, reducing the complexity typically involved in containerized deployments.
PORT Environment Variable
When you create an application on Miget, the immutable PORT=5000 environment variable is set by default. This setting is essential for the correct operation of your application within our platform and cannot be changed or overwritten.
Private Network Ports
In addition to the public-facing port 5000, Miget exposes a range of ports on the private network for internal communication between your applications and services. This allows your apps to communicate with databases, caches, and other services without exposing them to the public internet.
For example, if you deploy an Elasticsearch instance listening on port 9200, other applications in your workspace can connect to it via the private network address.
Currently Supported Ports
The following ports are available for private network communication:
| Port | Common Use Case |
|---|
| 22 | SSH |
| 80 | HTTP |
| 443 | HTTPS |
| 1433 | Microsoft SQL Server |
| 3000 | Node.js / Development servers |
| 3306 | MySQL / MariaDB |
| 5000 | Default application port |
| 5432 | PostgreSQL |
| 6379 | Redis / Valkey |
| 8000 | Alternative HTTP / Django |
| 8001 | Alternative HTTP |
| 8080 | Alternative HTTP / Tomcat |
| 8081 | Alternative HTTP |
| 8443 | Alternative HTTPS |
| 8444 | Alternative HTTPS |
| 8888 | Jupyter Notebook |
| 9000 | PHP-FPM / MinIO |
| 9092 | Apache Kafka |
| 9200 | Elasticsearch |
| 9999 | Custom services |
| 27017 | MongoDB |
Database Service Ports
When you create managed database services through Miget, they are automatically exposed on the private network:
| Service | Port |
|---|
| PostgreSQL | 5432 |
| MySQL | 3306 |
| Valkey (Redis-compatible) | 6379 |
Coming Soon: Automatic Port DetectionMiget will soon introduce automatic port detection, which will automatically expose any port your application listens on within the range of 1024–65535 on the private network. This eliminates the need to manually configure ports for internal service communication.Ports below 1024 are reserved system ports (as per IANA standards) and require elevated privileges, so they are not included in automatic detection.