dub-registry ~WebFreak001-patch-1
Online registry for dub packages
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
DUB registry
Online registry for dub packages, see http://code.dlang.org/.
How to build & run locally
Requirements:
- OpenSSL
- MongoDB
dub
Running as a mirror
dub -- --mirror=https://code.dlang.org
GitHub/GitLab/Gitea (Codeberg) API
By default the GitHub/GitLab update cron job will use anonymous authentication on your local machine. As GitHub's API without authentication is quite rate-limited, you probably want to use authenticated API requests.
You can do so by creating a settings.json in the root folder of the dub-registry and adding credentials for the needed APIs:
{
"github-auth": "<github-personal-access-token from https://github.com/settings/tokens>",
"gitlab-url": "https://gitlab.com/",
"gitlab-auth": "<gitlab-api-token from https://gitlab.com/-/profile/personal_access_tokens>",
"bitbucket-user": "<your-fancy-user-name>",
"bitbucket-password": "<your-fancy-password>",
"gitea-url": "https://codeberg.org/",
"gitea-auth": "<gitea/forgejo API token (Codeberg: Settings -> Applications -> New Token)>"
}
It's recommended to create a separate account for the DUB registry GitHub authentication. Equally, if no GitLab packages are used in your local repository, no GitLab authentication is needed.
It's absolutely recommended to create a personal access token without any extra permissions for your GitHub account instead of entering your password plain text into the settings file. You can generate an access token at https://github.com/settings/tokens (Settings -> Developer Settings -> Personal access tokens)
SECURITY NOTICE
Development versions prior to 2.3.0 were leaking the GitLab private token in error messages shown to the user. Please make sure to use the latest version along with a freshly generated token.
Codeberg support (via Gitea/Forgejo)
Codeberg runs Forgejo, a fork of Gitea. dub-registry supports generic Gitea/Forgejo instances. To enable Codeberg support:
- Set
gitea-urltohttps://codeberg.org/in yoursettings.json(or use env varGITEA_URL). - (Optional) Set
gitea-authto a personal access token for higher API rate limits and to access private repositories (env varGITEA_AUTH).
Note: currently only a single Gitea/Forgejo instance can be configured at a time.
Running without the cron job
For local development it's often useful to disable the cron job, you can do so with the --no-monitoring flag:
dub -- --no-monitoring
Importing a one-time snapshot from the registry
You can download a dump of all packages and import it into your local registry for development:
curl https://code.dlang.org/api/packages/dump > mirror.json
dub -- --mirror=mirror.json
Starting the registry with mirror.json will import all packages within the JSON file.
Once all packages have been imported, you can start the registry as you normally would:
dub
And you should notice that it now contains all packages which are listed on code.dlang.org
Note that --mirror=mirror.json and --mirror=https://code.dlang.org are very similar and the mirror.json is only preferred for local development because it allows to easily nuke the entire mongo database and re-initialize it without needing any connection to the internet.
Build/Running dub-registry with Docker
- Build:
export DUB_REGISTRY_HOME=$PWD
docker compose build
- Run:
export DUB_REGISTRY_HOME=$PWD
docker compose up -d
- Stop:
docker compose down
This will run both mongodb and dub-registry while persisting the database in the $DUB_REGISTRY_HOME location. The registry is accessible at http://127.0.0.1:9095
The registry can be configured by adding the settings.json file in $DUB_REGISTRY_HOME folder.
- ~WebFreak001-patch-1 released 2 months ago
- dlang/dub-registry
- code.dlang.org/
- BSL-1.0
- Authors:
- Dependencies:
- vibe-d, botan, uritemplate, userman, dub
- Versions:
-
Show all 18 versions2.4.0 2020-Sep-03 2.3.0 2018-Jun-16 2.2.0 2017-Sep-04 2.1.0 2017-Jun-16 2.0.0 2016-Oct-14 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
0 downloads this month
-
463 downloads total
-
- Score:
- 2.4
- Short URL:
- dub-registry.dub.pm
