poddrop

DEPLOY
PODDROP.

Run the studio, API, and worker on your infrastructure. Add your AI provider, then send your team a briefing on your own domain.

Before you start

Use a Linux x86-64 host with Docker Engine and Compose v2. Start with 2 vCPU, 4 GB RAM and room for your audio; measure your workload as it grows. Running local AI models needs additional resources. You also need SMTP for account verification, an AI endpoint for both script and speech generation, and a licence.

The Compose package includes PostgreSQL, Redis and RustFS, or you can configure your own PostgreSQL and S3-compatible storage. Production deployments need TLS, backups and access controls managed by your team.

1. Download the deployment package

Download Docker Compose package ↗

Includes a pinned image version, Compose file, configuration template, setup script, and operations guide. Images currently target amd64.

tar -xzf poddrop-self-hosted.tar.gz
cd poddrop-self-hosted
./setup.sh

The script creates unique secrets and an installation ID in .env. Keep that file private and preserve it during upgrades.

2. Add your licence and providers

PodDrop has one self-hosted plan: $99/month or $990/year per production deployment, before applicable tax. Infrastructure and AI costs are separate. See what’s included.

Online checkout is not open yet. Contact hello@goldenberry.so about a licence or a 14-day evaluation. Once you have your Coolbeans key, set PODDROP_LICENSE_KEY in your server configuration.

Configure OPENAI_API_KEY, your script/speech models, and SMTP. Set OPENAI_BASE_URL to an approved private endpoint if content must stay in your network. Leaving it blank sends AI requests to OpenAI. The endpoint must support chat completions and audio speech; a chat-only model does not generate a podcast.

For production, set WEB_URL and API_URL to your HTTPS application origin. Set the upload and public storage URLs to your HTTPS S3 origin. The included README has the full configuration and proxy requirements.

3. Start it and create a briefing

docker compose pull
docker compose up -d --wait

For local evaluation, open http://localhost:8080/signup. Create and verify your account, then check Settings for the licence status. Add a show, review its voice and style, and configure the delivery destination. Once the required accounts exist, set DISABLE_SIGNUP=true.

Your agent sends batches to your instance’s API. The Automation screen includes examples using the correct domain. Listeners open a link served by your deployment. On a private network, their phones need VPN access to listen on the commute.

Where your data goes

ConnectionWhat it receives
Your database and storageUpdates, scripts, audio, accounts and delivery configuration.
Your configured AI providerSource material, prompts, recent show context and scripts needed for generation. External providers receive this content.
CoolbeansLicence key, random installation ID, generic device label and validation metadata. The service also sees the requesting IP. No source updates, scripts, audio or teammate identities.
Slack, Discord or your webhookEpisode metadata and a listening link on your domain.
Your mail / identity providerVerification emails and, if enabled, OAuth identity information.

There is no GoldenBerry content relay. Personal provider keys are disabled by default. Audio objects are private; show logos are readable by anyone who can reach your storage origin. Listening links are bearer links, expire after seven days, and can be revoked. A recipient still needs network access. A downloaded copy cannot be recalled.

Licence, limits, and maintenance

One licence covers one production deployment with unlimited shows and listeners. There are no commercial audio-minute quotas. Default capacity protections include three active jobs per creator, 2,000 saved episodes, 100 GB storage, and up to 365 days of retention; your operator can change these settings. Each show’s own retention can be shorter.

Preserve the installation ID and licence volume so API and workers reuse one activation through restarts and updates. Coolbeans signs the licence and validates it periodically. Cached paid licences tolerate outages until their signed expiry. Initial activation needs internet access; this release is not sold as air-gapped.

When a licence expires, generation stops. Existing work remains readable and exportable, subject to retention. Cancel future renewals through the Coolbeans customer portal.

Back up the database, object storage, licence state and .env before upgrading. The package’s README explains updates, migration safety, capacity settings and restore considerations. Never run docker compose down -v unless you intend to delete the deployment’s data.

Moving from hosted PodDrop?

New hosted signups and generation are closed. Existing account access remains available for saved content. Download your recordings and copy the show configuration into your deployment. Contact hello@goldenberry.so before moving a larger library; do not send private content or credentials by email.