{"id":15439499,"url":"https://github.com/joelittlejohn/lein-embongo","last_synced_at":"2025-04-19T18:54:53.550Z","repository":{"id":3715898,"uuid":"4787985","full_name":"joelittlejohn/lein-embongo","owner":"joelittlejohn","description":"Leiningen plugin for running 'embedded' MongoDB","archived":false,"fork":false,"pushed_at":"2018-11-14T21:41:35.000Z","size":33,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-18T11:23:49.205Z","etag":null,"topics":["clojure","embedded","integration-testing","lein","mongodb"],"latest_commit_sha":null,"homepage":"https://clojars.org/lein-embongo","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joelittlejohn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-06-25T21:56:50.000Z","updated_at":"2020-02-13T16:33:38.000Z","dependencies_parsed_at":"2022-08-30T09:11:34.303Z","dependency_job_id":null,"html_url":"https://github.com/joelittlejohn/lein-embongo","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joelittlejohn%2Flein-embongo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joelittlejohn%2Flein-embongo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joelittlejohn%2Flein-embongo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joelittlejohn%2Flein-embongo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joelittlejohn","download_url":"https://codeload.github.com/joelittlejohn/lein-embongo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249239288,"owners_count":21235832,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clojure","embedded","integration-testing","lein","mongodb"],"created_at":"2024-10-01T19:06:57.520Z","updated_at":"2025-04-16T12:30:53.951Z","avatar_url":"https://github.com/joelittlejohn.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lein-embongo _(emb[edded m]ongo)_\n\nA Leiningen 2 plugin to run an 'embedded' instance of MongoDB during a build (e.g. for integration testing).\n\nThe Mongo instance isn't strictly embedded (it's not running within the JVM of your application or lein), but it _is_ a managed instance that exists only for the lifetime of your build.\n\n## Usage\n\nAdd `[lein-embongo \"0.2.3\"]` to the `:plugins` vector of your project.clj.\n\nInvoke the embongo task, providing the name of some other task that should be run after starting MongoDB, e.g.\n\n    $ lein embongo test\n\nOnce the task is complete, MongoDB will be stopped.\n\nIf for some reason you'd like lein to start the embedded mongo instance and wait, you can invoke the `embongo` task without providing any further tasks, like:\n\n    $ lein embongo\n\nWhen you want to stop MongoDB just press \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eC\u003c/kbd\u003e.\n\n### Additional config\nThere are a few optional config parameters that control how MongoDB runs:\n\n```clojure\n(defproject my-project \"1.0.0-SNAPSHOT\"\n  :plugins [[lein-embongo \"0.2.3\"]]\n  :embongo {:port 37017 ;optional, default 27017\n            :version \"2.1.1\" ;optional, default 2.4.3\n            :data-dir \"/tmp/mongo-data-files\" ;optional, default is a new dir in java.io.tmpdir\n            :download-proxy-host \"proxy.mycompany.com\" ;optional, default is none\n            :download-proxy-port 8080} ;optional, default 80\n```\n\n## Notes\n\n* All mongod output appears in `./embongo.log`\n* If you want to run many lein builds in parallel using Jenkins, try the [Port Allocator Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Port+Allocator+Plugin) to avoid port conflicts. If you assign a port to $MONGO_PORT, you can set the `:port` config option for embongo like:\n\n```clojure\n(defproject my-project \"1.0.0-SNAPSHOT\"\n  :embongo {\n  :port ~(Integer. (get (System/getenv) \"MONGO_PORT\" 27017)) ;uses port 27017 if env var is not set\n  ...\n```\n\n## License\n\nCopyright © 2017 Joe Littlejohn\n\nDistributed under the [Eclipse Public License](http://www.eclipse.org/legal/epl-v10.html), the same as Clojure.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoelittlejohn%2Flein-embongo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoelittlejohn%2Flein-embongo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoelittlejohn%2Flein-embongo/lists"}