While most web applications are accessed via HTTPS and Domains, you also have the option to expose up to 5 ports of your application directly via TCP.

To start, open Settings for any container that exposes a port and switch the protocol from https://  to tcp:// :

In the TCP address field you will now see tcplb01.sloppy.io:[generated] . After deploying, this will turn into the correct address (with assigned port). You can also copy this address to your clipboard from the project overview:

When using our CLI, you can achieve the same result with JSON port mapping or YAML port mapping.

Securing TCP ports

Unlike HTTPS based applications, for which we provide free Let's Encrypt certificates, TCP ports are not encrypted by themselves. In addition, TCP ports are easy to scan for (e.g. using nmap ), so open ports are trivial to find.

Both encryption and authentication (especially for production services) are up to your applications. For example, when exposing MongoDB via TCP, make sure to configure it to enable authentication from the start:

Then follow the same approach for encryption (see MongoDB security; configuring MongoDB docker image with SSL).

As another example, MySQL has authentication and encryption enabled by default, so if anything, you should make sure that your client uses the encrypted connection. For details, see Using Encrypted Connections.

Step-by-Step tutorial with Eclipse Mosquitto and node-RED

For a more complex usecase, check out the step-by-step tutorial on the blog using Zanzito, Eclipse Mosquitto and node-RED to send GPS data from your phone to an MQTT message broker and render you location on a worldmap.

Feature Details

Category: Deploy
Hosting Plan: Professional, Business

Did this answer your question?