Private Repository for Clojure deps.edn
Host private Clojure libraries with native tools.deps support. Works seamlessly with deps.edn, tools.build, and Clojars. Save 90% compared to JFrog Artifactory.
No credit card required • Setup in 5 minutes • Full Maven compatibility
;; deps.edn - Your private Clojure repository
{:deps {
com.acme/secret-sauce {:mvn/version "2.1.0"}
com.acme/data-pipeline {:mvn/version "1.5.3"}}
:mvn/repos {
"cloudrepo"
{:url "https://acme.mycloudrepo.io/repositories/maven"
:username :env/CLOUDREPO_USERNAME
:password :env/CLOUDREPO_PASSWORD}
"clojars" {:url "https://repo.clojars.org/"}}}
CloudRepo vs Clojars vs JFrog Artifactory
Clojars for public libraries, CloudRepo for private ones - the perfect combination
Feature | CloudRepo Best for Private | Clojars Best for Public | JFrog Artifactory | Sonatype Nexus |
---|---|---|---|---|
Starting Price | $79/month | Public only | $150/month + Support | $120/month |
Private Repositories | Unlimited | Not available | Limited by plan | Limited by plan |
Egress Fees | Free unlimited | N/A | $0.08-$0.15/GB | $0.09/GB |
deps.edn Support | Native Maven | Yes | Via Maven | Via Maven |
tools.build Support | Full support | Yes | Yes | Limited |
Monorepo Support | Excellent | Limited | Good | Basic |
Support | Included free | Community | $100k+/year | $50k+/year |
Setup Time | < 5 minutes | Instant | Hours to days | Hours |
Access Control | Teams & tokens | Basic | Enterprise | Enterprise |
Best For | Private libraries | Public libraries | Large enterprises | Java enterprises |
Real Cost for a Clojure Development Team
10 developers, 100GB monthly transfer, unlimited private libraries
CloudRepo
$948
per year
Private repos + Use Clojars free for public
Self-Hosted
$8,400+
per year
Server + maintenance time
JFrog
$121,800
per year
License + support + egress
Save $120,852 annually with CloudRepo
Built for modern Clojure development
Everything you need for deps.edn, tools.build, and modern Clojure workflows
-
- First-class support for Clojure's tools.deps with Maven repository format. Works seamlessly with deps.edn and tools.build.
-
- Perfect for Clojure monorepos with local deps. Share libraries across projects without publishing to Clojars.
-
- Unlike JFrog and other providers, we never charge for downloads. Build and test as often as needed without cost concerns.
-
- Use CloudRepo alongside Clojars. Public dependencies from Clojars, private ones from CloudRepo - seamless integration.
-
- Full support for modern Clojure build tooling. Deploy JARs with tools.build and deps-deploy effortlessly.
-
- API tokens for CI/CD, team access controls, audit logging, and IP whitelisting for compliance requirements.
Quick Clojure Setup Guide
Configure deps.edn and start using private libraries in minutes
Configure deps.edn for CloudRepo
Add CloudRepo as a Maven repository in your deps.edn configuration for private dependencies.
;; deps.edn
{:deps {
;; Your private Clojure libraries
com.mycompany/private-lib {:mvn/version "1.2.3"}
com.mycompany/internal-api {:mvn/version "2.0.1"}}
:mvn/repos {
"cloudrepo" {:url "https://acme.mycloudrepo.io/repositories/maven"
:username :env/CLOUDREPO_USERNAME
:password :env/CLOUDREPO_PASSWORD}
"central" {:url "https://repo1.maven.org/maven2/"}
"clojars" {:url "https://repo.clojars.org/"}}}
Set Authentication via Environment
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
export CLOUDREPO_USERNAME="__token__"
export CLOUDREPO_PASSWORD="your-api-token"
# Add to your CI/CD pipeline (GitHub Actions example)
env:
CLOUDREPO_USERNAME: __token__
CLOUDREPO_PASSWORD: ${{ secrets.CLOUDREPO_TOKEN }}
Deploy with tools.build
Use tools.build and deps-deploy to publish your Clojure libraries to CloudRepo.
;; build.clj
(ns build
(:require [clojure.tools.build.api :as b]
[deps-deploy.deps-deploy :as dd]))
(def lib 'com.mycompany/my-lib)
(def version (format "1.0.%s" (b/git-count-revs nil)))
(def class-dir "target/classes")
(def jar-file (format "target/%s-%s.jar" (name lib) version))
(defn deploy [_]
(let [pom-data {:lib lib :version version}]
(b/write-pom pom-data)
(b/jar {:class-dir class-dir
:jar-file jar-file})
(dd/deploy {:installer :remote
:artifact jar-file
:pom-file "pom.xml"
:repository {"cloudrepo"
{:url "https://acme.mycloudrepo.io/repositories/maven"
:username :env/CLOUDREPO_USERNAME
:password :env/CLOUDREPO_PASSWORD}}})))
# Deploy your library
clojure -T:build deploy
Need advanced configuration?
Check out our comprehensive Clojure deps.edn documentation for monorepos, CI/CD integration, and more.
Perfect for every Clojure use case
From startups to enterprises, CloudRepo scales with your Clojure projects
Enterprise Clojure Teams
Share proprietary Clojure libraries across teams and projects with fine-grained access control.
Clojure Consultancies
Host client-specific libraries securely. Create separate repositories for each client with isolated access.
Financial Services
Deploy trading algorithms and risk models as private Clojure libraries with audit trails and compliance features.
SaaS Platforms
Manage microservices and shared libraries in a Clojure monorepo with seamless dependency management.
Frequently asked questions
Everything you need to know about CloudRepo for Clojure
- Why use CloudRepo instead of Clojars for private Clojure libraries?
- Clojars is excellent for open-source Clojure libraries but doesn't support private repositories. CloudRepo provides enterprise-grade private repository hosting with access controls, audit logs, and team management. You can use both together - Clojars for public dependencies and CloudRepo for private ones.
- How does CloudRepo compare to self-hosting a Maven repository?
- Self-hosting requires server maintenance, security updates, backup management, 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 cost of a single server.
- Can I use CloudRepo with both deps.edn and Leiningen?
- Yes! CloudRepo is a standard Maven repository that works with all Clojure build tools - deps.edn/tools.deps, Leiningen, and Boot. You can even mix tools across different projects while sharing the same private repository.
- How does CloudRepo handle Clojure monorepos with local deps?
- CloudRepo excels at monorepo support. You can publish internal libraries from your monorepo to CloudRepo and reference them as Maven dependencies in other projects. This works seamlessly with deps.edn's local/root dependencies for development and Maven dependencies for production.
- What's the migration path from JFrog Artifactory?
- Migration is straightforward - CloudRepo uses the same Maven repository format. Export your artifacts from Artifactory and import them to CloudRepo. Update your deps.edn repository URLs, and you're done. Most teams complete migration in under an hour and save 90% on costs.
- Does CloudRepo support SNAPSHOT versions for Clojure libraries?
- Yes, CloudRepo fully supports SNAPSHOT versions with automatic cleanup policies. Perfect for continuous integration where you want to publish development builds without accumulating storage costs.
"We migrated from Artifactory to CloudRepo for our Clojure microservices. Setup took 15 minutes instead of 2 days. We're saving $8,000/month and our builds are actually faster. The deps.edn integration just works."
Sarah Mitchell
Principal Engineer, FinTech Startup
$96,000/year saved
The Modern Clojure Ecosystem Choice
deps.edn is the future of Clojure dependency management
Why deps.edn?
- Official Clojure tooling by Cognitect
- Simpler, more predictable than Leiningen
- Built-in support for git dependencies
- Excellent monorepo support with local deps
CloudRepo + Clojars
- CloudRepo for private libraries
- Clojars for open source dependencies
- Seamless integration in deps.edn
- Best of both worlds approach
Example: Using Both CloudRepo and Clojars
;; deps.edn - Best practice configuration
{:deps {
;; Public dependencies from Clojars
metosin/reitit {:mvn/version "0.5.18"}
com.taoensso/timbre {:mvn/version "5.2.1"}
;; Private dependencies from CloudRepo
com.acme/auth-service {:mvn/version "2.1.0"}
com.acme/data-models {:mvn/version "3.0.2"}}
:mvn/repos {
"cloudrepo"
{:url "https://acme.mycloudrepo.io/repositories/maven"
:username :env/CLOUDREPO_USERNAME
:password :env/CLOUDREPO_PASSWORD}
"central" {:url "https://repo1.maven.org/maven2/"}
"clojars" {:url "https://repo.clojars.org/"}}}
CloudRepo Supports All Clojure Build Tools
Whether you prefer deps.edn or Leiningen, CloudRepo has you covered.
Leiningen
The traditional Clojure build tool. Battle-tested with extensive plugin ecosystem. Perfect for teams with existing Leiningen projects.
Leiningen repository setup →Maven
The foundation of JVM artifact management. CloudRepo provides full Maven repository support for mixed Java/Clojure projects.
Maven repository setup →Gradle
Modern build automation with superior performance. Great for Clojure Android projects or mixed polyglot builds.
Gradle repository setup →SBT (Scala)
Hosting for Scala projects. Perfect for teams using both Clojure and Scala on the JVM.
SBT repository hosting →ClojureScript
Full support for ClojureScript artifacts. Host your CLJS libraries alongside your Clojure code.
View documentation →Multi-Language Projects
Mix JVM and Python artifacts in one account. Perfect for polyglot teams.
See unified pricing →All JVM build tools use CloudRepo's Maven repository format. See our documentation for detailed configuration guides.
Start hosting private Clojure libraries today
14-day free trial. No credit card required. Setup in 5 minutes.