{"id":17003912,"url":"https://github.com/cldwalker/datomic-box","last_synced_at":"2026-02-27T17:02:08.810Z","repository":{"id":8769327,"uuid":"10454470","full_name":"cldwalker/datomic-box","owner":"cldwalker","description":"[wip] Spin up a running Datomic Free box from the commandline. Done.","archived":false,"fork":false,"pushed_at":"2013-06-06T12:57:22.000Z","size":124,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-08T04:34:53.995Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cldwalker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-03T12:56:54.000Z","updated_at":"2020-10-20T02:48:16.000Z","dependencies_parsed_at":"2022-09-24T00:24:14.416Z","dependency_job_id":null,"html_url":"https://github.com/cldwalker/datomic-box","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cldwalker/datomic-box","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldwalker%2Fdatomic-box","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldwalker%2Fdatomic-box/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldwalker%2Fdatomic-box/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldwalker%2Fdatomic-box/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cldwalker","download_url":"https://codeload.github.com/cldwalker/datomic-box/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cldwalker%2Fdatomic-box/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29905554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T14:46:13.553Z","status":"ssl_error","status_checked_at":"2026-02-27T14:46:10.522Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-10-14T04:33:12.555Z","updated_at":"2026-02-27T17:02:08.775Z","avatar_url":"https://github.com/cldwalker.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Description\n\nSpin up a running Datomic Free box from the commandline. Done.\n\nThe default box is a 1GB Ubuntu box on EC2 running openjdk Java version 7 but all this can [be\nconfigured](#configuration).\n\n## Usage\n\nLet's deploy a datomic box to EC2!\n\n```sh\n$ git clone git@github.com:cldwalker/datomic-box.git; cd datomic-box\n\n# add EC2 credentials\n$ lein pallet add-service aws aws-ec2 ACCESS_KEY_ID SECRET_ACCESS_KEY\n\n# Create the box and install all packages\n$ lein pallet up --phases configure,install\n# To see how it's progressing tail the log file e.g. tail -f logs/target-IP-ADDR.log\n\n# Manual steps that I hope to automate\n$ ssh user@IP-ADDR\n# On the box\n$ sudo initctl start datomic\n```\n\nYou know have a datomic-free transactor running as an upstart job!\n\nAt this point, there are multiple paths you could take:\n\n* For just a personal app, you could [connect to the transactor from your computer](#connect-to-public-transactor).\n* To run the personal app on EC2, [run it on the same box](#run-a-public-datomic-app).\n* For a more robust setup, you could hook this transactor up to other EC2 peers as discussed\n  [on this thread](https://groups.google.com/forum/#!topic/datomic/wBRZNyHm03o). You may want to\n  consider using (CloudFormation)[http://docs.datomic.com/aws.html) and Datomic Pro.\n\n## Connect to Public Transactor\n\nTo open up datomic ports for use from your machine:\n\n* Select the datomic-box security group under the [Security Groups\n  section](https://console.aws.amazon.com/ec2/home#s=SecurityGroups) of your EC2 dashboard.\n* On the Inbound tab, create a new TCP rule for ports 4334-4336.\n* Use Source 0.0.0.0/0 to have it available to anyone. To just allow your computer, put [your\n  IP](https://www.google.com/search?q=what+is+my+ip) in this format: IP-ADDR/32\n* Click 'Apply Rule Changes'\n* Verify the ports are open: `telnet IP-ADDR PORT`\n\nYou should now be able to access your transactor with uri:\n`datomic:free://IP-ADDR-OR-DOMAIN/DATABASE`\n\n## Run a Public Datomic App\n\nTODO\n\n## Configuration\n\nSince this is all based on [pallet](http://palletops.com/), refer to [its\ndocumentation](http://palletops.com/doc/reference-0.8/) frequently.\n\nTo configure the following, modify src/datomic_box/core.clj on your fork:\n\n* `datomic` - modify [datomic-crate](https://github.com/rstradling/datomic-crate) options map passed\n  to `datomic/datomic`\n* `java` - modify [java-crate](https://github.com/pallet/java-crate) options map passed to\n  `java/server-spec`\n* `OS, instance size, etc.` - modify [node options](http://palletops.com/doc/reference/0.8/node-types/) on\n  `default-node-spec`\n* `provider` - Use `lein pallet providers` to see available providers. Use `lein pallet add-service`\n  to add your own.\n\n## Credits\n\nNone of this would be possible without [pallet](http://palletops.com) and the\n[datomic-crate](https://github.com/rstradling/datomic-crate).\n\n## Bugs/Issues\n\nPlease report them [on github](http://github.com/cldwalker/datomic-box/issues).\n\n## License\n\nSee LICENSE.TXT\n\n## TODO\n* Provide a lein command to generate a pallet.clj in a project.\n* Create a datomic box with `lein pallet up`.\n* Open up configs of all crates\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcldwalker%2Fdatomic-box","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcldwalker%2Fdatomic-box","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcldwalker%2Fdatomic-box/lists"}