A Leiningen template for projects using Luminus.
The template initializes a base Luminus application.
Luminus requires Leiningen version 2.5.3+
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+immutant
adds the immutant web server to the project. Note: this project is no longer funded/maintained+undertow
adds the ring-undertow web server to the projectThe default server is jetty
+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+datomic
adds support for the Datomic database+sqlite
adds support for the SQLite database+graphql
- adds GraphQL support using Lacinia+swagger
adds support for Swagger-UI+service
removes static assets and the layout, adds Swagger support+cljs
adds ClojureScript support to the project+reagent
adds ClojureScript support with Reagent to the project along with an example+re-frame
adds ClojureScript support with re-frame to the project along with an example+kee-frame
added kee-frame to the project+shadow-cljs
adds shadow-cljs support to the project, replacing the default cljsbuild and figwheel setup.+boot
causes the project to run with Boot instead of Leiningen+auth
adds Buddy dependency and authentication middleware+auth-jwe
adds Buddy dependency with the JWE backend+oauth
adds OAuth dependency+hoplon
adds ClojureScript support with Hoplon to the project+cucumber
adds support for browser based UI testing with Cucumber and clj-webdriver+sassc
adds support for SASS/SCSS files using SassC command line compiler+war
adds support of building WAR archives for deployment to servers such as Apache Tomcat (should NOT be used for Immutant apps running on WildFly)+site
creates template for site using the specified database (H2 by default) and ClojureScript+kibit
add lein-kibit plugin+servlet
adds middleware for handling Servlet context+basic
generates a bare bones luminus projectTo 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 uberjar
Or if using the +boot profile:
boot 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
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.
There is also a public comparison chart of the common templates.
Copyright © 2016 Dmitri Sotnikov
Distributed under the MIT License.
Can you improve this documentation? These fine people already did:
Dmitri Sotnikov, Yogthos, supersymmetry, dmitri.sotnikov@gmail.com, Randy Terbush, Jeremy Anderson, Nikola Peric, David Goldfarb, JC, Ben Sima, Daniel Manila, Kevin Greene, Nik Peric, Coby Tamayo, Max Furman, Chinmay Deshpande, Joe Hosteny, Sean Brewer, Abhinav Sharma, Shigeaki Matsumura, Mike Li & Logan LowellEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close