{"id":15873837,"url":"https://github.com/phronmophobic/pushtoy","last_synced_at":"2025-04-01T22:43:28.207Z","repository":{"id":10546578,"uuid":"12744146","full_name":"phronmophobic/pushtoy","owner":"phronmophobic","description":"A leiningen plugin to help deploy clojure projects to existing servers","archived":false,"fork":false,"pushed_at":"2013-12-05T20:39:09.000Z","size":188,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T19:42:14.703Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phronmophobic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-09-11T00:46:41.000Z","updated_at":"2023-07-25T13:49:23.000Z","dependencies_parsed_at":"2022-08-31T13:41:43.692Z","dependency_job_id":null,"html_url":"https://github.com/phronmophobic/pushtoy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phronmophobic%2Fpushtoy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phronmophobic%2Fpushtoy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phronmophobic%2Fpushtoy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phronmophobic%2Fpushtoy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phronmophobic","download_url":"https://codeload.github.com/phronmophobic/pushtoy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246724797,"owners_count":20823543,"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":[],"created_at":"2024-10-06T01:07:21.751Z","updated_at":"2025-04-01T22:43:28.184Z","avatar_url":"https://github.com/phronmophobic.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lein-pushtoy\n\nA Leiningen plugin to make deploying clojure apps to an existing servers simple. Not meant for \"production\", but great for side projects.\n\n## Usage\n\n### Setup\n\nPut `[lein-pushtoy \"0.1.1-SNAPSHOT\"]` into the `:plugins` vector of your\n`:user` profile.\n\nAdd the following key to your project.clj file:\n\n    $   :pushtoy {:ips [\"\u003cfirst ip\u003e\" \"\u003csecond ip\u003e\"]\n                  :user {:username \"ubuntu\"}]}\n\nOptions for your pushtoy config are:\n\n* **:ips** - vector of deployment ip addresses\n* **:user** - same keys that are available under pallet.core.user, http://palletops.com/pallet/api/0.8/pallet.core.user.html\n\n   `:username` - username for sshing  \n   `:public-key-path` - path string to public key file  \n   `:private-key-path` - path string to private key file  \n   `:public-key` - public key as a string or byte array  \n   `:private-key` - private key as a string or byte array  \n   `:passphrase` - passphrase for private key  \n   `:password` - ssh user password  \n   `:sudo-password` - password for sudo (defaults to :password)  \n   `:sudo-user` - the user to sudo to  \n   `:no-sudo` - flag to not use sudo (e.g. when the user has root privileges).  \n   \n   \n   defaults to username being root and using private and public keys as ~/.ssh/id_rsa and ~/.ssh/id_rsa.pub\n\n* **:app-name** - defaults to the name of the project\n\n\n### Basic Usage\n\n    $ lein pushtoy \u003ccommand\u003e...\n\nAvailable commands:\n\n* **install**: installs java, runit, and creates a service for your clojure application\n* **deploy**: deploys your uberjar in a location that can be run from runit\n* **start**: starts your deployed uberjar using runit\n* **stop**: stops your application via runit\n* **restart**: restarts your application via runit\n\n\n### Initial deployment\n\n    $ lein do uberjar, pushtoy install deploy restart\n\n### Subsequent deployments\n\n    $ lein do uberjar, pushtoy deploy restart\n\n## Todo\n\n- Add example plugin configurations\n- Allow options for settings up nginx with virtual hosts\n- Integrate vhost stuff with something like http://freedns.afraid.org/\n- Integrate with tomcat\n- Grace reloading without momentary deployment downtime\n\n\n## License\n\nCopyright © 2013 Adrian Smith\n\nDistributed under the Eclipse Public License, the same as Clojure.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphronmophobic%2Fpushtoy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphronmophobic%2Fpushtoy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphronmophobic%2Fpushtoy/lists"}