Port Management
Every VM receives a public IPv4 address with a configurable firewall. By default, port 22 (SSH) is open. You can open additional ports for web servers, APIs, databases, or any other service.
Opening a port
Section titled “Opening a port”Via the dashboard:
Flip your instance card to reveal the port management panel. Enter a port number and click Add. The firewall updates immediately.
Via the API:
curl -X POST https://console.carolinacloud.io/api/instance/<uuid>/add-port/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"port": 443}'Via the CLI:
Port management is available through the API. CLI support is planned.
Closing a port
Section titled “Closing a port”Via the dashboard:
Click the remove button next to any open port in the port management panel.
Via the API:
curl -X POST https://console.carolinacloud.io/api/instance/<uuid>/remove-port/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"port": 443}'Port 22 protection
Section titled “Port 22 protection”Port 22 (SSH) is always open and cannot be closed. This ensures you can never accidentally lock yourself out of your VM.
Common port configurations
Section titled “Common port configurations”| Service | Port |
|---|---|
| SSH | 22 (always open) |
| HTTP | 80 |
| HTTPS | 443 |
| PostgreSQL | 5432 |
| MySQL | 3306 |
| Redis | 6379 |
| Custom API | 8000, 8080, 3000, etc. |
How it works
Section titled “How it works”Port changes trigger an automatic firewall refresh on the router. The iptables rules are regenerated to forward traffic from your public IP to your VM’s internal address on the specified ports. Changes take effect within seconds.
Containers
Section titled “Containers”Containers do not have public IPv4 addresses and do not support port management. Web-accessible containers (Marimo, RStudio) are served via reverse proxy at https://<name>.carolinacloud.io.