We recently completed a major change in the hosting stack for Voice. For the most part admins and visitors won't notice the change, but there are many benefits:

  • Support for latest https encryption protocols, and removal some older less secure ones.
  • Support for HTTP/2 for faster browsing.
  • Better performance throughout, you should hopefully notice that everything runs a bit faster!
  • The entire stack is now on newer software versions with latest security patches.
  • More powerful server software allowing requests to be channeled based on whether the client is a real person, a web robot, or monitoring software. (this prevents robots using up all the connections, and allows the system to be monitored easily even under heavy load)
  • Improved monitoring of threads, caches, memory, and locks (allowing us to find and eliminate performance problems)

What's in the stack?

Most people won't, but some people might be interested to know what Voice is built on, and what the servers are running.

Every bit of software that Voice uses is open source and free. We pay no licence fees for anything, which is why we are able to offer free websites to community groups.

The main hosting software used in the Voice system is:

  • OpenACS - open-source toolkit for building scalable, community-oriented web applications.
    This has been heavily modified to build the Voice system, which is capable of hosting thousands of websites on a single server.
  • PostgreSQL - the world's most advanced open source relational database (their claim not ours!).
  • NaviServer - a high performance web server written in C and Tcl.
  • Varnish Cache - an HTTP accelerator designed for content-heavy dynamic web sites.
    This serves cached pages to non-logged-in users very quickly without hitting the application or database. The appropriate bits of cache are automatically flushed when new content is published.
  • HAProxy - the reliable, high performance TCP/HTTP load balancer.
    We primarily use this as an HTTPS endpoint, since Varnish Cache doesn't have SSL built in.
  • LetsEncrypt - a nonprofit certificate authority.
    We use this to automatically create HTTPS certificates for sites using their own domain name.
  • Linux - the open-source Unix-like operating system.
    We use Debian Linux.

We host the servers with UpCloud, in their London datacentre.

There are lots of other bits of software that go into the Voice system, which we couldn't exist without: Bootstrap, TinyMCE, ImageMagick, Postfix, and many many smaller utilities provided to the open source community by their authors.