Homepage for Next House server

View on GitHub

Have cool webapp ideas but not the resources to deploy them? As a resident of Next House, you can get free server space!

What this is for

As an MIT student, you already have access to your Athena locker where you can keep static webpages. You also have access to, which lets you do a bit more, like Python/php CGI scripts. However, if you wanted to host something like a node app, Flask app, or anything not supported by scripts, you’d be out of luck. But now, you can use the Next House server for whatever you want! But as we have limited resources, this is not a place for resource-intensive tasks.

How does it work?

All services running on the server are packaged as Docker containers, to isolate them from each other. Each container can then expose port 80 and run a web server. All * hostnames all point to the same server IP. But depending on the hostname, requests are reverse proxied to the correct container.

How do I get started?

Fill out this application.

You’ll need to “dockerize” your app to make it run. This basically means adding a Dockerfile, which you can think of as a script that installs dependencies and launches your app. You can usually find nice Dockerfile guides/boilerplates online (e.g. google “dockerize flask app”). If you don’t know what to do, you can contact me and we’ll figure it out. If you need https support, I can generate certs.

Once approved, how do I deploy?

If your application sounds reasonable, you’ll get a subdomain and an ssh login There will be a directory ~/src where you should clone your repo into. You will have permissions to execute the following commands with sudo:

You should tell me any required Docker flags (like mounting volumes), and let me know if you want to use a custom URL. Feel free to request additional functionality or report potential flaws.

Contact and support

For any questions and comments, please contact next-techchair (at) mit (dot) edu.

- cor