Revel

Boxfuse supports Revel apps written in Go and packaged as a Revel tar.gz archive.

Get Started

If you haven't already, start by following Revel & Boxfuse tutorial that will get you up and running in 5-10 minutes.

Packaging

Applications should be packaged as a Revel tar.gz containing a Linux ELF64 binary.

To properly set up cross-compilation in order to create Linux x64 binaries Windows users should invoke:

> set GOOS=linux

And Mac OSX users:

> export GOOS=linux

To further decrease the size of Boxfuse images, use the newest version of Go.

Ports

Boxfuse will automatically configure your application port based on the information contained in in app.conf.

The port will be either http or https based on the value of http.ssl. The actual port number is automatically configured according to the value of the http.port property.

Root Certificates

Boxfuse uses the same root certificate bundle as the latest version of Firefox. Additionally Boxfuse also includes the root certificates for Amazon RDS, so you can connect securely to RDS databases out of the box.

Temporary Files

Boxfuse configures the instance to use /tmp as the directory to store temporary files and provisions 1 GB of space by default.

To increase this (up to a maximum of 16 TB), simply set the tmp configuration setting to the number of GB of temp space you need. To prevent Boxfuse from provisioning any temp space set tmp to 0.

Time Zone

By default all Boxfuse instance use the UTC time zone.

We don't recommend changing this as this greatly simplifies time zone issues in machine to machine communication and cleanly relegates all time zones related aspects to a pure presentation layer concern.

If however you still do want to change this, you can override the default time zone of the instance using the TZ environment variable. For example to change the time zone of your instance to America/Los_Angeles you would do so like this:

> boxfuse fuse -envvars.TZ=America/Los_Angeles

Linux Kernel Tuning (experts only)

If you need to tune the Linux kernel running in your instance, simply place a sysctl.conf file in the conf directory of your app:

 my-revel-app
   app
   conf
     sysctl.conf
   log
   messages
   public
   test

Boxfuse will then automatically configure the Linux kernel to use these settings.

Linux x64