How it works

Subdomains

For any of your web apps, you can set a *.sloppy.zone subdomain, with * describing a name of your choosing. This subdomain is free, SSL/TLS protected (available via https), and immediately available, making it ideal for a testing and staging environment. sloppy.io will check if the subdomain of your choosing is already taken by another user.

Custom Domains

If you possess your own domains, you can use them for your web apps on sloppy.io. All you have to do is setting a CNAME and point it to lb.sloppy.io. This can usually be done in the DNS settings of your domain administration. We have collected a list of instructions for certain domain providers.

Let's Encrypt SSL/TLS certificate

All custom domains routed to sloppy.io can receive a free SSL/TLS certificate from Let's Encrypt (their rate limits apply). This certificate is domain validated and will be renewed automatically. If you require a different solution (like an extended validation certificate from another CA), please contact our staff.

Port Mappings

All of your web apps are exposed to ports 80 and 443 (the standard HTTPS ports). You have to specify one port per app that will be mapped to 80 and 443 to be accessed from the outside. Though the same input is used for mapping TCP ports.

Setup

Web UI

When entering the an app's settings, either through creating or editing a project, go to the "Basic Setup" tab and the subsequent "Networking" setup. By turning on the first switch, you declare your app as a web app. You can now enter either a subdomain in the *.sloppy.zone, a custom domain name, or multiple domains and subdomains.

Your web app is exposed ports 80 and 443 outside sloppy.io, if you need to map a different port to 80 and 443, you can specify it in the box to the right. By turning on the switch below, your custom domains will receive a free Let's Encrypt SSL certificate.

Example for a "Networking" form, setting the app as a web app and making it available under the subdomain example.sloppy.zone and custom domain example.com, the latter receiving a Let's Encrypt SSL certificate for free.

Note: When setting multiple domains, you can specify their usage in your app. Below this form, you can set additional settings for the load balancer.

CLI

You can use our YAML, JSON, and the docker-compose.yml formats to specify the domain names for your apps. Use the domain key (domainname in docker-compose.yml) within your project’s configuration file to individually set those domain names. The domain key can be used for any number of apps in your project.

To enable the free Let's Encrypt SSL certificate for your custom domains, set the ssl key to true. As this key doesn't exist in the docker-compose.yml format, we take true as a default here. Ports are mapped through the port key (port_mappings in JSON).

JSON

"domain": {
   "uri": "example.sloppy.zone example.com"
},
"ssl": true,
"port_mappings": [
   {
      "container_port": 80
   }
]

YAML

domain: "example.sloppy.zone example.com"
ssl: true
port: 80

docker-compose.yml

domainname: "example.sloppy.zone example.com"
ports:
   - "80:80" 

All examples set domains example.sloppy.zone and example.com for an app, enabling a free SSL certificate (in the last example by default) and exposing port 80.

Note: The markup shown is incomplete representing only the keys explained.

Debugging

Usually certificates are available within a minute after deploying an app. If your custom domain is not available via HTTPS after 30 minutes, you can check with https://letsdebug.net/ if there is something wrong with it. The most common issues are related to DNS settings (wrong entry, duplicate entries, bad AAAA record). You may also have run into rate limits, as documented by Let's Encrypt.

Feature Details

Category: Deploy
Hosting Plan: Basic, Professional, Business

Did this answer your question?