A Leiningen template for projects using Luminus.
The template initializes a base Luminus application.
Luminus requires Leiningen version 2.x
The Luminus template ships out of the box with your latest Leiningen. Run the following command to create a new Luminus project which uses the default profile template:
lein new luminus <your project name>
However, if you would like to attach further functionality to your template you can append profile hints for these extended features:
+aleph
adds the Aleph server+http-kit
adds the fast HTTP Kit web server to the project+jetty
adds the jetty web server to the project
+h2
adds db.core namespace and H2 database dependencies+postgres
adds db.core namespace and add PostreSQL database dependencies+mysql
adds db.core namespace and add MySQL/MariaDB database dependencies+mongodb
adds support for MongoDB using the Monger library
+auth
adds Buddy dependency and authentication middleware+cljs
adds ClojureScript support to the project along with an example+cucumber
adds support for browser based UI testing with Cucumber and clj-webdriver+swagger
adds support for Swagger-UI using the compojure-api library+sassc
adds support for SASS/SCSS files using SassC command line compiler
To add a profile simply pass it as an argument after your application name, e.g.:
lein new luminus myapp +cljs
You can also mix multiple profiles when creating the application, e.g.:
lein new luminus myapp +auth +postgres
To build as a executable Java ARchive (JAR) standalone, run the following command:
lein ring uberjar
To run the resulting standalone executable .jar
file, do as you would with any other:
user$ java -jar target/myapp.jar
15-Sep-14 16:06:21 APc47d.4f39.65e6.uhn.ca INFO [myapp.handler] -
-=[myapp started successfully]=-
16:06:21.685 INFO [org.projectodd.wunderboss.web.Web] (main) Registered web context /
15-Sep-14 16:06:21 APc47d.4f39.65e6.uhn.ca INFO [myapp.core] - server started on port: 3002
To build a WAR (or Web application ARchive) file run:
lein ring uberwar
You can then easily deploy the resulting WAR to Tomcat or any other Java application server.
The app can be stress tested by running the Apache benchmark command:
ab -c 10 -n 1000 http://127.0.0.1:3000/
The memory and CPU usage can be inspected by running either jconsole
or jvisualvm
and attaching them to a running Luminus server.
Copyright © 2015 Dmitri Sotnikov
Distributed under the MIT License.