- Make sure you have Java 25 or higher installed
- Download and unpack the latest release
- Invoke
./bin/helma, resp../bin/helma.bat, depending on your platform - Direct your web browser to http://localhost:8080
Helma is an open source web application framework for fast and efficient scripting and serving of your websites and Internet applications.
Helma is written in Java and employs JavaScript for its server-side scripting environment, removing the need for compilation cycles and reducing development costs while giving you instant access to leverage the whole wealth of Java libraries out there.
Helma pioneered the simple and codeless mapping of application objects to database tables, which has only recently come into vogue with other web frameworks. In addition, an embedded object-oriented database performs automatic data persistence of unmapped objects.
Helma has proven itself to be stable and fast, capable of serving high traffic sites with hundreds of thousands of dynamic pages per day. The Austrian Broadcasting Corporation, popular weblog hosting sites such as antville.org, twoday.net, and blogger.de, among many others, have successfully been deploying Helma for several years now.
Although Helma became a Grande Dame of server-side JavaScript already decades ago when she performed in cozy Finnish clubs, she appears somehow retired nowadays. Nevertheless, she is here to stay for those last ones out there still tinkering with this nostalgic and wonderful piece of software.
You need a Java virtual machine version 25 or higher to run Helma.
Please consult the documentation of your platform how to obtain and install Java.
You also can directly download a Java runtime or development kit from Oracle.
Helma is built with Gradle, the build task depends on the binaries rsync and npx being installed on your system.
Clone this repository to your machine and run Helma with ./gradlew run.
To update the installation from a build, run ./gradlew update and enter yes at the prompt.
Warning
Please be aware that this step is going to overwrite files in the installation directory – escpecially at a later time when there might be substantial changes. Should this happen by accident you find the previous installation in the backups directory.
Alternatively, you could move or copy the desired files manually from the installation directory build/install/helma.
After all files are put into place start Helma by invoking ./bin/helma.bat or ./bin/helma, depending on whether you are on Windows or Linux / Unix / OS X, respectively. If the java command is not found, try setting the JAVA_HOME environment variable to the location of your Java installation.
You can adjust server-wide settings in the server.properties file. For example, you could set the smtp property to the name of the SMTP server that Helma should use to send e-mail. Applications can be started or stopped by editing the apps.properties file, or through the web interface using the management application that is part of Helma.
If all goes well you should be able to connect your browser to http://localhost:8080 – port 8080 on the local machine, that is.
Helma comes with a version of Jetty, a lightweight yet industrial strength web server, so it serves HTTP on its own without any additional infrastructure.
The recommended way to run Helma in production is containerised: one trusted
application per image, with isolation between tenants delegated to the container
runtime and orchestrator. A Dockerfile is included — build the distribution
and image with:
./gradlew distTar
docker build -t helma:latest .
docker run --rm -p 8080:8080 helma:latestFront the container with a reverse proxy (nginx, Apache, Caddy) for TLS termination. Running directly on a host under a process supervisor (systemd, etc.) is supported as an alternative. See the deployment documentation for details.
Helma runs application JavaScript with the full privileges of the JVM — there is no in-process sandbox. Treat everything in one container as a single trust domain and rely on the runtime for isolation.
After installing and running Helma, you will be able to access introductions to the features of Helma and the various included development tools. Further information you will find on the helma.org website:
Note
Unfortunately, the Helma website disappeard in the meantime 😿 However, with some archaeological web digging and thanks to the great search engines and archive services out there it is still possible to find useful resources.