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 https://raw.github.com/technomancy/leiningen/stable/bin/lein chmod +x lein mv lein ~/bin/ # Make sure that ~/bin/ exists and is on the $PATH
Running the tests
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
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 http://fleetdb.s3.amazonaws.com/fleetdb-standalone.jar
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.