> For the complete documentation index, see [llms.txt](https://docs.sealsecurity.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sealsecurity.io/setup-apps-os/artifact-server/configuring-package-managers/bundler.md).

# Configuring Bundler

Bundler reads gem sources from the `Gemfile`. To replace the default RubyGems source with Seal, swap the `source` line and supply credentials in the URL.

## Configuration

Open the project's `Gemfile`. Find the existing source line, typically:

```ruby
source 'https://rubygems.org'
```

Replace it with the Seal source, reading the credentials from the environment so they do not get checked into source control:

```ruby
source "https://#{ENV['SEAL_PROJECT']}:#{ENV['SEAL_TOKEN']}@ruby.sealsecurity.io"
```

`SEAL_PROJECT` is your Seal [Project ID](/getting-started/creating-a-seal-project.md#project-id-and-project-name). `SEAL_TOKEN` is your production token. Set both in the build environment when running Bundler.

```bash
SEAL_PROJECT=<project-id> SEAL_TOKEN=<token> bundle install
```

## Verify

A clean `bundle install` resolves gems from `ruby.sealsecurity.io` instead of `rubygems.org`. Use `bundle config get sources` or run with `--verbose` to see the resolved-from URL explicitly.

## Related

* [Editing dependency files manually](/using-platform/working-with-seal-apps/artifact-server/bundler.md): pinning sealed versions in `Gemfile`.
