Version 7 (modified by Jamie McClelland, 5 months ago) (diff)


Maintaining ethercalc

We are running ethercalc (a spreadsheet/wiki web software) at

It depends on node.js.

It was installed by running, as the calc user on mchesney (and in the /home/calc):

npm install ethercalc

That created a directory structure in /home/calc/node_modules.

The init script is handled by systemd (systemctl status ethercalc).

We running apache which passed through traffic to ethercalc. The apache file (in site-enabled) has the following content:

<VirtualHost *:443>
        # web config for
        # ServerAlias

        <Proxy *>
          Order deny,allow
          Allow from all

        #SSL Stuff
        SSLEngine On
        SSLProxyEngine On
        SSLCertificateFile /etc/letsencrypt/live/
        SSLCertificateKeyFile /etc/letsencrypt/live/

        ProxyPreserveHost On
        ProxyRequests off
        ProxyPass / http://localhost:8000/
        ProxyPassReverse / http://localhost:8000/

        # Set up websockets to work through the proxy
        RewriteEngine On
        RewriteCond %{REQUEST_URI}  ^/            [NC]
        RewriteCond %{QUERY_STRING} transport=websocket    [NC]
        RewriteRule /(.*)           ws://localhost:8000/$1 [P,L]

        # Set up an alias for static files. Saves having to serve them from node.js
        Alias /static /home/calc/node_modules/ethercalc/static
        Alias /l10n /home/calc/node_modules/ethercalc/l10n
        Alias /images /hoe/calc/node_modules/ethercalc/images

        ErrorLog /var/log/apache2/calc.error.log
        CustomLog /var/log/apache2/calc.log combined


To update to the latest version of ethercalc, run the following command in /home/calc as the ethercalc user:

npm update

Then, restart ethercalc (as root):

systemctl restart ethercalc && systemctl restart apache2

Note: the current version of ethercalc only works because of a patch described here. If updated, you may need to edit the specified file by hand.