{"id":18647605,"url":"https://github.com/artcom/dock-worker","last_synced_at":"2026-03-11T15:03:28.257Z","repository":{"id":44163909,"uuid":"46355915","full_name":"artcom/dock-worker","owner":"artcom","description":"Automated Dokku Deployment","archived":false,"fork":false,"pushed_at":"2024-06-16T10:24:05.000Z","size":428,"stargazers_count":8,"open_issues_count":2,"forks_count":0,"subscribers_count":21,"default_branch":"main","last_synced_at":"2025-03-25T14:21:21.903Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/artcom.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-11-17T15:25:57.000Z","updated_at":"2024-01-16T14:10:18.000Z","dependencies_parsed_at":"2024-11-07T06:28:35.180Z","dependency_job_id":null,"html_url":"https://github.com/artcom/dock-worker","commit_stats":{"total_commits":243,"total_committers":6,"mean_commits":40.5,"dds":"0.25514403292181065","last_synced_commit":"bef7517d8aa3de48120eda2cce97c7cdcbfb38a7"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Fdock-worker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Fdock-worker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Fdock-worker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Fdock-worker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artcom","download_url":"https://codeload.github.com/artcom/dock-worker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248154998,"owners_count":21056542,"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-11-07T06:27:08.223Z","updated_at":"2026-03-11T15:03:28.251Z","avatar_url":"https://github.com/artcom.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dock Worker\n\nAutomated Dokku Deployment\n\n## Prerequisites\n\nThe following tools need to be installed:\n\n* `git`\n* `ssh`\n\nBoth tools need to be able to access the source repos and the Dokku host, e.g. using\n\n* SSH public key authentication or\n* a Git [credential helper](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage).\n\nThe ssh public key authentication works via `ssh-agent`. Make sure your identitiy is [added](https://www.ssh.com/ssh/add) via `ssh-add` and the `ssh-agent` is running.\n\nMake sure you are able to clone from the git server that hosts the service repos. (first clone from github.com, etc.)\n\nThe authenticity of host _git-host_ can't be established.\nECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.\n\n## Usage\n\n```bash\n  Usage:\n    dock \u003cenvironment\u003e status [options]                     list app and status information\n    dock \u003cenvironment\u003e deploy [--yes] [\u003capp\u003e...] [options]  deploy apps and configuration\n    dock environments [options]                             list available environments\n    dock version                                            show dock-worker version\n\n  Options:\n    -f FILE --file=FILE                                     Dockfile path [default: Dockfile.json]\n```\n\n## App Definition\n\n_Dock Worker_ will look for a configuration file named `Dockfile.json` in the current directory. Here is an example:\n\n```json\n{\n  \"environments\": [\n    {\n      \"name\": \"staging\",\n      \"host\": \"dokku@staging.example.com\",\n      \"composeHost\": \"staging.example.com\"\n    },\n    {\n      \"name\": \"production\",\n      \"host\": \"dokku@production.example.com\",\n      \"composeHost\": \"production.example.com\"\n    }\n  ],\n  \"apps\": [\n    {\n      \"name\": \"debug-service\",\n      \"repo\": \"git@github.com:artcom/debug-service.git\",\n      \"version\": \"01cf5ecf0e68b19a691c215e56ba0bf363f17fc1\",\n      \"environments\": [\"staging\"]\n    },\n    {\n      \"name\": \"retrieval-service\",\n      \"repo\": \"git@github.com:artcom/retrieval-service.git\",\n      \"version\": \"ebf005e11bd097e0e69a05b320afa89e835a9f2e\",\n      \"config\": {\n        \"DISPLAY_NAME\": \"Retrieval Service\",\n        \"RETRIEVE_FROM\": {\n          \"staging\": \"http://staging-db.example.com\",\n          \"production\": \"http://db.example.com\"\n        },\n        \"DATABASE_URL\": \"postgresql://user:pass@${host}:5432/db\",\n        \"COMPOSE_HOST\": \"${composeHost}\"\n      },\n      \"dockerOptions\": {\n        \"-p=8000:8000\": [\"deploy\", \"run\"]\n      },\n      \"stopBeforeDeployment\": true\n    }\n  ]\n}\n```\n\n### Environment Variable Placeholders\n\nConfig values support placeholder replacement for environment-specific values:\n\n* `${host}` - Replaced with the environment's `host` value\n* `${composeHost}` - Replaced with the environment's `composeHost` value\n\nThese placeholders are resolved at deployment time based on the target environment. In the example above, deploying to staging would replace `${host}` with `dokku@staging.example.com` and `${composeHost}` with `staging.example.com`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartcom%2Fdock-worker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartcom%2Fdock-worker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartcom%2Fdock-worker/lists"}