We use the following major services:
- AWS for Route 53 (DNS) and S3
- Dokku on DigitalOcean for most services
- Bocoup infrastructure for tessel.io and Forums
We use Route 53 for DNS and domain renewal.
We use S3 and Cloudfront for serving files and builds.
Our default region is us-east-2 (N. Virginia)
We have a large Dokku instance for setting up new pages. It can run containers and Heroku buildpacks, which is rad. You'll need two things:
- Access to dokku.tessel.io via SSH
- Access to AWS via our login credentials
See http://github.com/tessel/www-etc for some of the services we run there.
Login to the server ssh [email protected]
.
To create a new app, run this command on the server:
server> dokku apps:create NEWAPP
On your local computer, add it as a remote to your git repo:
local> git remote add dokku [email protected]:NEWAPP
local> git push dokku master
You'll see the following:
server> ...
server> =====> Application deployed:
server> http://dokku.tessel.io:<port number>
server>
server> To [email protected]:NEW_APP
server> xxxxxx..xxxxxx master -> master
server> Branch master set up to track remote branch master from dokku.
If you want to view your app now, you'll have to expose the port directly on the server:
server> ufw allow <port number>
Then you can open http://dokku.tessel.io:<port number>
in your local web browser.
Use Route 53 to modify this. Create a new record under the "tessel.io" hosted zone with these properties:
- Subdomain field should be "NEWAPP"
- CNAME record
- Value set to "dokku.tessel.io"
- TTL to 5m or 1m.
NOTE: It's preferred that subdomains and the name of the Dokku app match exactly.
You can now enable the subdomain using this command on the Dokku server:
server> dokku domains:add NEWAPP NEWAPP.tessel.io
You can enable HTTPS very simply with the following:
server> dokku config:set --no-restart NEWAPP [email protected]
server> dokku letsencrypt NEWAPP
Now all HTTP requests will automatically redirect. And you're done!
Look up logs with Dokku while logged into the server:
server> dokku logs NEWAPP
The following web services are hosted on Dokku:
-
docs.tessel.io
-
doc.tessel.io
-
scbot.tessel.io
-
t1-start.tessel.io
-
highfive.tessel.io
-
slackin.tessel.io
-
start.tessel.io
The following web service is hosted on Google App Engine:
- crash-reporter.tessel.io