Server for Flurfunk
Clojure Shell
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Flurfunk server

The Flurfunk server is written in Clojure, and built using Leiningen. It provides a REST API for use by clients.

Building and running

Installing Leiningen 2

curl -O
chmod +x lein
mv lein ~/bin/ # Make sure that ~/bin/ exists and is on the $PATH

Running the tests

lein test

Running the server

lein ring server-headless [port]

Creating a WAR

lein ring uberwar flurfunk-server.war

This will create target/flurfunk-server.war.

Creating a standalone JAR that includes Jetty

lein uberjar

Running the standalone JAR

java -jar target/flurfunk-server.jar

Using a persistent database

Messages are per default stored in memory. There are two options for a persistent storage:


Flurfunk requires PostgreSQL 9.1 or above, and the hstore addon.

Create a user flurfunk with password flurfunk and a database flurfunk, or include the system property flurfunk.db.url to a JDBC URL string like this:


Then run the server with the flurfunk.db system property set to postgresql, like this (optionally including the extra url parameter from above):

JAVA_OPTS="-Dflurfunk.db=postgresql" lein ring server-headless


mkdir temp
cd temp
curl -O

Then launch the fleetdb server:


Finally, run the server with the flurfunk.db system property set to fleetdb, like this:

JAVA_OPTS="-Dflurfunk.db=fleetdb" lein ring server-headless


Copyright 2012 Viaboxx GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.