{"id":13586120,"url":"https://github.com/palfrey/wharf","last_synced_at":"2025-04-09T19:16:31.578Z","repository":{"id":29817045,"uuid":"122854850","full_name":"palfrey/wharf","owner":"palfrey","description":"Web UI for Dokku","archived":false,"fork":false,"pushed_at":"2025-03-17T17:54:01.000Z","size":5617,"stargazers_count":249,"open_issues_count":16,"forks_count":22,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-09T19:16:27.033Z","etag":null,"topics":["dokku","hacktoberfest"],"latest_commit_sha":null,"homepage":"https://tevps.net/blog/2018/2/28/wharf-dokku-web-frontend/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/palfrey.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"github":"palfrey","ko_fi":"palfrey"}},"created_at":"2018-02-25T16:42:49.000Z","updated_at":"2025-04-06T04:13:27.000Z","dependencies_parsed_at":"2024-10-21T17:50:02.882Z","dependency_job_id":null,"html_url":"https://github.com/palfrey/wharf","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/palfrey%2Fwharf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palfrey%2Fwharf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palfrey%2Fwharf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palfrey%2Fwharf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/palfrey","download_url":"https://codeload.github.com/palfrey/wharf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248094988,"owners_count":21046770,"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":["dokku","hacktoberfest"],"created_at":"2024-08-01T15:05:20.371Z","updated_at":"2025-04-09T19:16:31.547Z","avatar_url":"https://github.com/palfrey.png","language":"Python","funding_links":["https://github.com/sponsors/palfrey","https://ko-fi.com/palfrey"],"categories":["Python","HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"Wharf\n=====\n[![CI](https://github.com/palfrey/wharf/actions/workflows/ci.yml/badge.svg)](https://github.com/palfrey/wharf/actions)\n\nWharf is an opinionated web frontend for [Dokku](http://dokku.viewdocs.io/dokku/). You can also use the command line version, but most features you'll need day-to-day are in the Web UI\n\nScreenshots\n-----------\n\u003ca href=\"./screenshots/apps_list.png\"\u003e\u003cimg align=\"top\" src=\"./screenshots/apps_list.png\" width=\"20%\" /\u003e\u003c/a\u003e \u003ca href=\"./screenshots/app_index.png\"\u003e\u003cimg src=\"./screenshots/app_index.png\" align=\"top\" width=\"20%\" /\u003e\u003c/a\u003e\n\nSetup\n-----\n1. [Install Dokku](http://dokku.viewdocs.io/dokku/getting-started/installation) (versions up to 0.19.13, see [#78](https://github.com/palfrey/wharf/issues/78))\n2. Install the following plugins:\n  * https://github.com/dokku/dokku-redis (versions up to 1.10.4, see [#75](https://github.com/palfrey/wharf/issues/75))\n  * https://github.com/dokku/dokku-postgres (versions up to 1.9.5, see [#75](https://github.com/palfrey/wharf/issues/75))\n  * https://github.com/dokku/dokku-letsencrypt (versions up to 0.9.4 see [#115](https://github.com/palfrey/wharf/issues/115))\n3. Setup the Let's Encrypt plugin to auto-renew (`dokku letsencrypt:cron-job --add`)\n4. Create the app (`dokku apps:create wharf`)\n5. Add SSH key storage:\n  * `mkdir /var/lib/dokku/data/storage/wharf-ssh/`\n  * `chown dokku:dokku /var/lib/dokku/data/storage/wharf-ssh/`\n  * `dokku storage:mount wharf /var/lib/dokku/data/storage/wharf-ssh/:/root/.ssh`\n6. Add Redis (`dokku redis:create wharf \u0026\u0026 dokku redis:link wharf wharf`)\n7. Add Postgres (`dokku postgres:create wharf \u0026\u0026 dokku postgres:link wharf wharf`)\n8. Set `ADMIN_PASSWORD` to something secret (`dokku config:set wharf ADMIN_PASSWORD=somesecret`)\n9. Deploy this Git repo [as per the standard Dokku instructions](http://dokku.viewdocs.io/dokku/deployment/application-deployment/)\n\nHelpful hints\n-------------\n* If you're running SSH on a non-standard port, set `DOKKU_SSH_PORT` e.g. `dokku config:set wharf DOKKU_SSH_PORT=2222`\n* If Dokku is running somewhere else than the local machine, set `DOKKU_SSH_HOST` e.g. `dokku config:set wharf DOKKU_SSH_HOST=foo.example.com`\n* If there's a Dockerfile in your repository, it'll [try and deploy using that by default](http://dokku.viewdocs.io/dokku/deployment/methods/dockerfiles/). Set BUILDPACK_URL to override\n* BUILDPACK_URL should be an HTTPS one, not a SSH or heroku/something one\n* You should setup the global domain name when creating Dokku to start with and add a *.\u0026lt;your dokku domain\u0026gt; entry to give new apps more usable names.\n\nEnabling Github auto-deploy webhooks\n------------------------------------\n1. Set `GITHUB_SECRET` config item to something secret\n2. Goto [settings/webhooks](https://developer.github.com/webhooks/creating/#setting-up-a-webhook) in Github\n3. Make a new webhook for \u0026lt;your Wharf instance\u0026gt;/webhook with Content type as `application/json` and Secret to the secret from `GITHUB_SECRET`\n\nDevelopment\n-----------\nEasiest way to do dev is:\n\n1. `vagrant up` which will boot the entire Dokku setup in a VM\n2. `DOKKU_SSH_HOST=host.docker.internal DOKKU_SSH_PORT=2222 docker-compose up`\n    * `host.docker.internal` works on Mac/Windows, but not on Linux (see https://github.com/docker/for-linux/issues/264). On Linux hosts, you should set `DOKKU_SSH_HOST` to whatever your IP is (not localhost, but a local IP is fine)\n3. Load up `http://localhost:8000/`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpalfrey%2Fwharf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpalfrey%2Fwharf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpalfrey%2Fwharf/lists"}