Migrating from Doppler to Redshift: Complete Guide
We built the Redshift CLI to feel familiar if you're coming from Doppler. Most of the commands map one-to-one, so the actual migration is less work than you'd expect. I did it on a side project in about ten minutes, and most of that was waiting for doppler secrets download to finish.
Before You Begin
You'll need three things ready:
- Redshift CLI installed (
curl -fsSL https://redshiftapp.com/install | sh) - A Nostr identity (NIP-07 extension or nsec key)
- Access to your Doppler project
Step 1: Export Secrets from Doppler
Grab everything out of Doppler as JSON. Make sure you're in the right project/environment first -- Doppler uses whatever you last configured with doppler setup.
doppler secrets download --no-file --format json > secrets.json
This dumps all your secrets for the current environment into a single file. Worth a quick cat secrets.json to sanity-check that it looks right before moving on.
Step 2: Authenticate with Redshift
This is the part most people overthink. Just run:
redshift login
It'll ask you to pick between a NIP-07 browser extension or pasting your nsec directly. If you already have Alby or nos2x set up, the extension route is easiest. If not, nsec works fine -- Redshift stores it in your system keychain, not in a plaintext file somewhere.
Step 3: Create a Project
Now set up a project to hold your secrets. The setup wizard asks a few questions -- project name, which environments you want -- and creates everything for you.
redshift setup
I'd recommend matching your Doppler project name so you don't confuse yourself later. If you have multiple environments in Doppler (dev, staging, production), create them all here. You can always add more later.
Step 4: Upload Your Secrets
Point Redshift at the JSON file you exported earlier:
redshift secrets upload secrets.json -e production
That's the whole thing. Redshift encrypts each secret with your Nostr identity client-side, then publishes them to your configured relays. If you exported multiple environments from Doppler, repeat this step with each file and the matching -e flag.
Step 5: Update Your Scripts
Here's the payoff for the Doppler-compatible CLI: anywhere you have doppler run, swap in redshift run. Same syntax, same -- separator.
# Before
doppler run -- npm start
# After
redshift run -- npm start
If you have a dozen scripts or CI configs that reference Doppler, a find-and-replace gets you most of the way there. I'd test one locally before going on a bulk-replace spree, though.
Step 6: Clean Up
Once you've confirmed everything runs correctly with Redshift:
- Delete the
secrets.jsonfile -- seriously, it's sitting there in plaintext - Update your CI/CD pipelines to use
redshift - Optionally, revoke your Doppler secrets (maybe give it a week first, just in case)
Command Compatibility Reference
For quick reference, here's how the main commands line up. If you've been using Doppler for a while, you'll barely notice the difference.
| Doppler | Redshift |
|---|---|
doppler run |
redshift run |
doppler secrets |
redshift secrets |
doppler setup |
redshift setup |
Stuck on Something?
The CLI docs cover all the flags and options in detail. If you hit something weird during migration, open an issue -- we've seen most of the edge cases by now and can usually point you in the right direction quickly.
Ready to try Redshift?
Own your secrets with decentralized, censorship-resistant secret management.