By default, your Gemfury reposistories are available via the [repo].fury.io
endpoints where the Repo-URL hostname is based on the package type
and package manager that you are using. For example, a RubyGems
repository is available via:
https://gem.fury.io/USERNAME/
By enabling a custom domain for a Gemfury account, you will also be able to access this account’s repositories via a domain of your choosing:
https://www.yourcustomdomain.com/REPO-ID/
Please note that Gemfury works with domains that you already own and manage. We do not provide domain registration/DNS services, nor do we provide continuous monitoring to verify your domain configuration.
Enable a custom domain for your account
You can add a custom domain to your account via the following steps:
- Register and configure your domain via your registrar
- Go to your dashboard and choose the correct account
- Select the Settings tab and then Domains
- Enter your domain and click Add
Configuring DNS for your custom domain
After adding your domain to your account, you’ll need to work with your DNS provider to point your domain to Gemfury. This is done by creating a CNAME record for your domain as follows:
Record | Name | Target |
---|---|---|
CNAME | repo | repo.yourcustomdomain.com.furyns.com. |
CNAME | other | other.yourcustomdomain.com.furyns.com. |
To set up an apex domain without a subdomain, such as yourcustomdomain.com
,
you must configure a similar ALIAS or ANAME record with your DNS provider.
Not all DNS providers support this feature.
Testing your custom domain
To recognize and serve your repository index, your DNS record must point to
Gemfury’s custom domains endpoint. To confirm that your CNAME is active, use
the dig
command:
$ dig repo.example.com +nostats +nocomments +nocmd
repo.example.com. 3554 IN CNAME repo.example.com.furyns.com.
Using your repository via custom domains
Once you’ve configured your domain, all Gemfury repositories are available as top-level paths of your custom domain. In your configuration, you would replace your repository URLs are follows:
Repo | Standard Repo-URL | With custom domain |
---|---|---|
RubyGems | https://gem.fury.io/USERNAME/ | https://repo.example.com/gem/ |
Javascript npm | https://npm.fury.io/USERNAME/ | https://repo.example.com/npm/ |
PHP Composer | https://php.fury.io/USERNAME/ | https://repo.example.com/php/ |
Python PyPI | https://pypi.fury.io/USERNAME/ | https://repo.example.com/pypi/ |
APT/DEB | https://apt.fury.io/USERNAME/ | https://repo.example.com/apt/ |
YUM/RPM | https://yum.fury.io/USERNAME/ | https://repo.example.com/yum/ |
NuGet | https://nuget.fury.io/USERNAME/ | https://repo.example.com/nuget/ |
These custom-domain URLs can be directed to either private and public repositories
by including or excluding a secret token via Basic Auth (ie. Authorization
header).
Gemfury does not support using path tokens to authenticate into your custom domain.