{"id":13408953,"url":"https://github.com/badsyntax/dokku-discourse","last_synced_at":"2025-03-20T03:31:08.242Z","repository":{"id":49631795,"uuid":"311181509","full_name":"badsyntax/dokku-discourse","owner":"badsyntax","description":"Dokku plugin to manage discourse on your dokku server","archived":false,"fork":false,"pushed_at":"2022-12-17T18:24:32.000Z","size":67,"stargazers_count":18,"open_issues_count":5,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-28T22:55:03.580Z","etag":null,"topics":["discourse","dokku","dokku-plugin"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/badsyntax.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null}},"created_at":"2020-11-09T00:15:02.000Z","updated_at":"2024-06-08T12:35:02.000Z","dependencies_parsed_at":"2023-01-29T17:45:28.090Z","dependency_job_id":null,"html_url":"https://github.com/badsyntax/dokku-discourse","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/badsyntax%2Fdokku-discourse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/badsyntax%2Fdokku-discourse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/badsyntax%2Fdokku-discourse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/badsyntax%2Fdokku-discourse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/badsyntax","download_url":"https://codeload.github.com/badsyntax/dokku-discourse/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244047647,"owners_count":20389206,"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":["discourse","dokku","dokku-plugin"],"created_at":"2024-07-30T20:00:56.851Z","updated_at":"2025-03-20T03:31:07.880Z","avatar_url":"https://github.com/badsyntax.png","language":"Shell","funding_links":[],"categories":["Communication"],"sub_categories":[],"readme":"# dokku-discourse\n\n![Test](https://github.com/badsyntax/dokku-discourse/workflows/Test/badge.svg)\n\nManages discourse apps on your dokku server.\n\n## Plugin installation\n\n```sh\n# For dokku \u003e= v0.22.0\ndokku plugin:install https://github.com/badsyntax/dokku-discourse.git\n\n# For dokku \u003c v0.22.0\ndokku plugin:install https://github.com/badsyntax/dokku-discourse.git --committish 0.2.1\n```\n\n## Plugin update\n\n```sh\ndokku plugin:update discourse\n```\n\n## Commands\n\n```sh\ndiscourse:help                            # Shows help\ndiscourse:create \u003capp\u003e                    # Creates/rebuilds a discourse app\ndiscourse:destroy \u003capp\u003e                   # Destroys a discourse app\ndiscourse:upgrade \u003capp\u003e                   # Upgrades a discourse app\ndiscourse:install-plugin \u003capp\u003e \u003cgit_url\u003e  # Installs a plugin for a discourse app\ndiscourse:list                            # Lists discourse apps\n```\n\n## Usage\n\n### Create a new discourse app\n\nEach discourse app is a separate _standalone_ discourse instance.\n\n```sh\ndokku discourse:create discourse-app\n```\n\n*A new docker image will be built and this process can take some time.*\n\nYou'll be prompted for various discourse configuration values.\n\nData will be stored in location `/var/lib/dokku/data/storage/APP_NAME`.\n\nOnce your app is built \u0026 deployed, you can treat it as any other dokku app. You should use the [dokku-letsencrypt](https://github.com/dokku/dokku-letsencrypt) plugin for adding TLS.\n\nContinue with the offical [discourse install instructions](https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md#start-discourse) to complete the discourse installation, ignoring any TLS setup instructions.\n\n### Customise the discourse container config\n\nA discourse container config file is created when a discourse app is created. The config is based on [standalone.yml](https://github.com/discourse/discourse_docker/blob/master/samples/standalone.yml).\n\nYou can edit the config at `/home/dokku/APP_NAME/discourse_standalone.yml`. Don't make any changes to the `volumes` section, but feel free to change anything else.\n\nAfter making change be sure to run `dokku discourse:create \u003capp\u003e` to rebuild and re-deploy the discourse app.\n\n### Upgrade a discourse app\n\nThe easiest way to upgrade is to use [the admin](http://discourse.dokku.me/admin/upgrade).\n\nYou can also upgrade a discourse app with the following:\n\n```bash\ndokku discourse:upgrade discourse-app\n```\n\n*The running discourse app will be stopped, the docker image rebuilt and the app redeployed.*\n\n### Add discourse plugins\n\nInstall the akismet plugin:\n\n```bash\ndokku discourse:install-plugin discourse-app https://github.com/discourse/discourse-akismet\n```\n\n*The running discourse app will be stopped, the docker image rebuilt and the app redeployed.*\n\n### Destroy an app\n\n```bash\ndokku discourse:destroy discourse-app\n```\n\n*Destroying an app does **not** remove the data directory at `/var/lib/dokku/data/storage/APP_NAME`.*\n\n### Uninstall the plugin\n\n```bash\ndokku plugin:uninstall discourse\n```\n\n*Running discourse apps and images are unaffected.*\n\nTo completely remove everything related to discourse:\n\n1. Destroy all discourse apps: `dokku discourse:destroy $(dokku discourse:list -q)`\n1. Uninstall the discourse plugin: `dokku plugin:uninstall discourse`\n1. Remove the base discourse image: `docker rmi $(docker images -q discourse/base)`\n1. Remove discourse data directories at `/var/lib/dokku/data/storage/`.\n\n### Restore from backup\n\nYou'll need a backup archive created by discourse, and a fresh discourse app.\n\nFollow the instructions above to create a new discourse app. Ensure you've registered an admin account as you'll need to login to the admin to restore the backup. If the backup site was using TLS, you need to set this up on the new instance before continuing (via `dokku letsencrypt`).\n\nDiscourse allows you restore a backup in [the admin](http://discourse.dokku.me/admin/backups), but you need to copy the backup into the discourse container first. This is achieved by copying the backup into the host directory that's mounted to the container.\n\nFirst, ensure the default backup directory exists on the host:\n\n*Substitute APP_NAME with the name of the discourse app you just created.*\n\n```bash\nssh root@dokku.me\nmkdir /var/lib/dokku/data/storage/APP_NAME/backups/default/\n```\n\nExit your server and use scp (or similar) to copy the archive file to the server.\n\n*Substitute APP_NAME with the name of the discourse app you just created.*\n\n```bash\nscp discourse-backup.tar.gz root@dokku.me:/var/lib/dokku/data/storage/APP_NAME/backups/default/\n```\n\nLogin to the admin and restore from backup.\n\nTo complete the restoration, you'll need install plugins that were previously installed. Use the `dokku discourse:install-plugin` command to do so.\n\n## Credits\n\n- https://medium.com/batary/deploying-discourse-with-dokku-5eec28e2ad8b\n- https://gist.github.com/julienma/a101a72fdd97932bf28909633f45c7be\n\n## Development\n\nSee [DEVELOPMENT.md](./DEVELOPMENT.md).\n\n## License\n\nSee [LICENSE.md](./LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbadsyntax%2Fdokku-discourse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbadsyntax%2Fdokku-discourse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbadsyntax%2Fdokku-discourse/lists"}