The mature choice for Clojure teams

Private Repository for Leiningen Projects

Host private Clojure libraries with battle-tested Leiningen workflows. Perfect Maven repository compatibility with simple project.clj configuration. Save 90% compared to JFrog Artifactory.

Simple project.clj configuration
No egress fees - unlimited downloads
Works with Clojars for public dependencies

No credit card required • Setup in 5 minutes • Full Maven compatibility

;; project.clj - Your private Leiningen repository
(defproject com.acme/backend "2.1.0"
  :dependencies [[org.clojure/clojure "1.11.1"]
                 [com.acme/shared-lib "1.5.3"]
                 [com.acme/auth-service "3.0.1"]]

  :repositories [["cloudrepo"
                  {:url "https://acme.mycloudrepo.io/repositories/maven"
                   :username :env/cloudrepo_username
                   :password :env/cloudrepo_password}]]

  :deploy-repositories [["releases"
                         {:url "https://acme.mycloudrepo.io/repositories/maven"
                          :sign-releases false}]])

Leiningen vs deps.edn: Choose the Right Tool

CloudRepo supports both build tools equally well - choose based on your needs

Aspect Leiningen deps.edn
Build Tool Leiningen (lein) Clojure CLI (clj/clojure)
Config File project.clj deps.edn
Philosophy All-in-one build tool Composable tools approach
Plugin System Rich plugin ecosystem Tools as libraries
Production Builds Built-in uberjar tools.build or depstar
REPL Integration lein repl clj with aliases
Maturity Since 2010 Since 2017
Learning Curve Familiar to Java devs More Clojure-idiomatic

Use Leiningen When:

  • You have existing Leiningen projects
  • You need the mature plugin ecosystem
  • Team is familiar with Maven/Gradle concepts
  • You want all-in-one build tool simplicity

Use deps.edn When:

  • Starting new Clojure projects
  • You prefer composable tools philosophy
  • Working with monorepos and local deps
  • Need git dependencies support

CloudRepo Works Perfectly With Both

Same repository, same libraries, your choice of build tools

The smart choice for private Leiningen libraries

CloudRepo vs Clojars vs Self-Hosting vs Artifactory

Why CloudRepo is the best choice for private Leiningen repositories

Feature
CloudRepo Best Overall
Clojars Public Only
JFrog Artifactory Sonatype Nexus Self-Hosted
Starting Price $79/month Public only $150/month + Support $120/month Server + maintenance
Private Repositories Unlimited Not available Limited by plan Limited by plan Unlimited
Egress Fees Free unlimited N/A $0.08-$0.15/GB $0.09/GB Bandwidth costs
Leiningen Support Native Maven Native Full support Full support Depends on solution
Uberjar Support Excellent Yes Yes Yes Yes
Plugin Compatibility 100% 100% 100% 100% Varies
Support Included free Community $100k+/year $50k+/year DIY
Setup Time < 5 minutes Instant (public) Hours to days Hours Days
Maintenance Zero - Fully managed N/A Regular updates Regular updates Continuous
Best For Private libraries Public libraries Large enterprises Java enterprises Full control needs

Real Cost for a Leiningen Development Team

10 developers, 100GB monthly transfer, mature Leiningen workflows

CloudRepo

$948

per year

Private repos + Clojars free

Self-Hosted

$12,000+

per year

Server + DevOps time

JFrog

$121,800

per year

License + support + egress

Nexus

$61,440

per year

License + support + egress

Save $120,852 annually with CloudRepo

Plus hundreds of hours of DevOps maintenance

Built for professional Leiningen workflows

Everything you need for enterprise Clojure development with Leiningen

Battle-Tested Maven Format
Leiningen uses standard Maven repositories under the hood. CloudRepo provides rock-solid Maven hosting with perfect Leiningen compatibility.
Project.clj Simplicity
Simple repository configuration in project.clj. Deploy with 'lein deploy' and pull dependencies automatically - just works.
Plugin Ecosystem
Full support for the mature Leiningen plugin ecosystem. Use lein-ring, lein-cljsbuild, and all your favorite plugins.
Uberjar Deployment
Deploy standalone uberjars for production. Perfect for traditional JVM deployments and Docker containers.
Zero Egress Fees
Unlike JFrog and AWS CodeArtifact, we never charge for downloads. Build and test as often as needed without bandwidth costs.
Enterprise Security
API tokens for CI/CD, team access controls, audit logging, and IP whitelisting for enterprise compliance.

Quick Leiningen Setup Guide

Configure project.clj and start deploying private libraries in minutes

1

Configure project.clj for CloudRepo

Add CloudRepo as a private repository in your Leiningen project configuration.

                    ;; project.clj
(defproject com.mycompany/private-lib "1.2.3"
  :description "Private Clojure library"
  :dependencies [[org.clojure/clojure "1.11.1"]
                 [com.mycompany/shared-lib "2.0.1"]]

  ;; Private repository for fetching dependencies
  :repositories [["cloudrepo" {:url "https://acme.mycloudrepo.io/repositories/maven"
                                :username :env/cloudrepo_username
                                :password :env/cloudrepo_password}]
                 ["clojars" "https://repo.clojars.org/"]]

  ;; Deploy configuration
  :deploy-repositories [["releases" {:url "https://acme.mycloudrepo.io/repositories/maven"
                                      :username :env/cloudrepo_username
                                      :password :env/cloudrepo_password
                                      :sign-releases false}]
                        ["snapshots" {:url "https://acme.mycloudrepo.io/repositories/maven-snapshots"
                                      :username :env/cloudrepo_username
                                      :password :env/cloudrepo_password}]])
                  
2

Set Authentication Credentials

Use environment variables for secure credential management in development and CI/CD.

                    # Set credentials in your shell
export CLOUDREPO_USERNAME="your-username"
export CLOUDREPO_PASSWORD="your-password"

# Or use API tokens for CI/CD (recommended)
export CLOUDREPO_USERNAME="__token__"
export CLOUDREPO_PASSWORD="your-api-token"

# Alternative: Use ~/.lein/credentials.clj.gpg (encrypted)
{#"https://acme.mycloudrepo.io/repositories/.*"
 {:username "your-username"
  :password "your-password"}}

# GitHub Actions example
env:
  CLOUDREPO_USERNAME: __token__
  CLOUDREPO_PASSWORD: ${{ secrets.CLOUDREPO_TOKEN }}
                  
3

Deploy with Leiningen

Use standard Leiningen commands to deploy your libraries and uberjars to CloudRepo.

                    # Deploy library to releases repository
lein deploy releases

# Deploy SNAPSHOT version
lein deploy snapshots

# Build and deploy uberjar
lein uberjar
lein deploy releases target/myapp-1.2.3-standalone.jar

# Deploy to specific repository
lein deploy cloudrepo com.mycompany/my-lib "1.2.3" target/my-lib-1.2.3.jar

# Check dependencies
lein deps :tree

# Force update of SNAPSHOT dependencies
lein -U deps
                  

Need advanced configuration?

Check out our comprehensive Leiningen documentation for profiles, plugins, and enterprise setups.

Perfect for every Leiningen use case

From legacy systems to modern microservices, CloudRepo scales with your needs

Enterprise Clojure Teams

Share proprietary Leiningen libraries across departments. Perfect for organizations with established Leiningen workflows.

Legacy System Migration

Gradually modernize Leiningen projects. Host both old and new libraries while migrating at your own pace.

Clojure Web Applications

Deploy Ring/Compojure applications as uberjars. Perfect for traditional deployment pipelines and Docker containers.

Mixed Build Tool Teams

Support developers using both Leiningen and deps.edn. One repository for all your Clojure build tools.

Frequently asked questions

Everything you need to know about CloudRepo for Leiningen

Why use CloudRepo instead of Clojars for private Leiningen libraries?
Clojars is the community repository for open-source Clojure libraries but doesn't support private repositories. CloudRepo provides enterprise-grade private repository hosting that works perfectly with Leiningen, offering access controls, audit logs, and team management. Use Clojars for public dependencies and CloudRepo for your proprietary code.
How does CloudRepo compare to self-hosting Nexus or Archiva for Leiningen?
Self-hosting requires server maintenance, security patches, backup management, SSL certificates, and scaling infrastructure. CloudRepo provides a fully managed solution with 99.9% uptime SLA, automatic backups, global CDN, and enterprise security - all for less than the monthly cost of a cloud server, plus you save countless hours of DevOps work.
Can I use both Leiningen and deps.edn with the same CloudRepo repository?
Absolutely! CloudRepo hosts standard Maven repositories that work with all Clojure build tools. Your team can use Leiningen for some projects and deps.edn for others, all sharing the same private libraries. This is perfect for gradual migrations or mixed-tool environments.
How do I migrate from JFrog Artifactory to CloudRepo for Leiningen projects?
Migration is straightforward since both use Maven repository format. Export your JARs from Artifactory, upload them to CloudRepo (we can help with bulk imports), update your project.clj repository URLs, and you're done. Most teams complete migration in under 2 hours and immediately start saving 90% on costs.
Should I use Leiningen or deps.edn for new Clojure projects?
Leiningen is perfect if you need its mature plugin ecosystem, prefer an all-in-one build tool, or have team members familiar with Maven/Gradle. Choose deps.edn for newer projects that embrace the composable tools philosophy. CloudRepo supports both equally well, so you can choose based on your project needs, not repository limitations.
Does CloudRepo support Leiningen plugins and templates?
Yes! CloudRepo can host Leiningen plugins and templates just like any other JAR artifact. You can create private plugins for your organization and share them through CloudRepo. This includes lein-ring for web apps, lein-cljsbuild for ClojureScript, and custom templates for project scaffolding.

"We've been using Leiningen for 8 years and weren't ready to migrate everything to deps.edn. CloudRepo gave us a private repository that works perfectly with our existing Leiningen projects. Setup took 10 minutes, and we're saving $7,000/month compared to Artifactory."

Marcus Chen

Engineering Director, Enterprise SaaS

$84,000/year saved

Perfect Maven Repository Compatibility

Leiningen uses Maven repositories under the hood - CloudRepo provides enterprise-grade Maven hosting

What This Means For You

  • 100% compatibility with all Leiningen versions
  • Share libraries between Leiningen, deps.edn, Maven, and Gradle projects
  • Standard POM metadata and dependency resolution
  • SNAPSHOT versions with proper metadata handling

Supported Artifacts

  • Standard JARs and uberjars
  • Leiningen plugins and templates
  • Source JARs and documentation
  • POM files with complete metadata

Example: Using CloudRepo with Leiningen Profiles

;; project.clj with environment-specific repositories
(defproject com.acme/service "1.0.0"
  :dependencies [[org.clojure/clojure "1.11.1"]]

  :profiles {:dev {:repositories [["cloudrepo-dev"
                                   {:url "https://acme.mycloudrepo.io/repositories/dev"
                                    :username :env/cloudrepo_username
                                    :password :env/cloudrepo_password}]]}

             :prod {:repositories [["cloudrepo-prod"
                                    {:url "https://acme.mycloudrepo.io/repositories/prod"
                                     :username :env/cloudrepo_username
                                     :password :env/cloudrepo_password}]]}}

  ;; Deploy to different repos based on version
  :release-tasks [["vcs" "assert-committed"]
                  ["change" "version" "leiningen.release/bump-version" "release"]
                  ["deploy" "releases"]
                  ["vcs" "commit"]
                  ["vcs" "tag" "--no-sign"]
                  ["change" "version" "leiningen.release/bump-version"]
                  ["vcs" "commit"]])

Start hosting private Leiningen libraries today

14-day free trial. No credit card required. Setup in 5 minutes.

Perfect Leiningen support
Works with Clojars
No egress fees