Other  (4)

Sloppy.io Domain Names

Loading

An Edit to the domain name page for Sloppy.io



In order to make it easy to get started, Sloppy.io gives you a free sub domain, they provide the Let's Encrypt certificate, and serve your unencrypted http website as https.  You can also use your own custom domain name, and have them register your custom domain with Let's Encrypt.  All of this saved me a huge amount of time and effort. 

Is this a public app?

When creating the application there is a question.  "Is this a public app".  If you want to put up a website, you shoudl check yes.  That then opens up two form fields  The first lets you choose between https and tcp.  Beginners should use https.  TCP is discussed later.  And then you can enter your chosen domain name. 

Domain Names

To start with, the easy thing to do is to use their free sub domain.  Later you can easily upgrade to your own custom domain.  If you choose their free subdomain, then enter *.sloppy.zone, with * describing a name of your choosing. For example you might choose "example.sloppy.zone"  You have to use lower case letters. This subdomain is free, SSL/TLS protected (available via https), and immediately available, making it ideal for a testing and staging environment. Sloppy.io checks that the subdomain of your choosing is not in use by another user.

One last note.  When using a *.sloppy.zone do not check the option for "Generate and use an SSL certificate using Let's Encrypt."  They have already done that for you.  It will just confuse things. 

Port Number

Next you can fill in the port number.   The port number you are specifying is the port number that your Docker container uses to publish.  You have to specify one port per app.  Sloppy.io will than map that docker port number to the public web for your chosen subdomain.  That port will be mapped to 80 and 443 to be accessed from the outside. Read below about  mapping TCP ports.

Custom Domains

If you possess your own domains, you can use them for your web apps on sloppy.io. On their website, enter your custom domain name.  With your DNS service set the 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.

Setup a Custom Domain

Here is how to setup a custom domain. 

When entering  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.

On the web, your web app is exposed on ports 80 and 443, 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 sslkey to true. As this key doesn't exist in the docker-compose.yml format, we take trueas 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.