ByteBite Docs
Infrastructure

Secrets

Secret inventory, storage locations, and rotation policy — no values.

Secrets

This page inventories credentials and secrets by name only. Never commit secret values to Git or documentation.

Policy

RuleDetail
GitSecrets must never enter the repository
DocumentationDocument names, consumers, and storage — never values
ScopeMinimum required permissions for each credential
RotationRotate at provider/UI level; update Dokploy env or host files

Storage models

ModelUsed forExample
Dokploy environment variablesApplication runtime secretsDATABASE_URL, SENTRY_DSN
Host filesystem (restricted permissions)Infrastructure secrets Traefik readsCloudflare DNS API token
Local .env (git-ignored)Developer workstation onlyLocal Postgres password

Secret inventory

Secret / credentialConsumerStorage locationScope / permissionsRepository policyStatus
DATABASE_URLAPIDokploy env (staging)Internal PostgreSQL access.env.example shows format only; never real staging credsActive (staging)
Cloudflare DNS API tokenTraefik (letsencrypt-cloudflare)Host: /etc/dokploy/traefik/secrets/cloudflare-dns-api-tokenZone Read + DNS Edit on getbytebite.co onlyNever in GitActive (staging)
SENTRY_DSNAPI (via @bytebite/observability)Dokploy envProject-specific DSNOptional locally; placeholder in .env.exampleConfigured (optional)
BETTER_AUTH_SECRETAPI / auth (future)Dokploy env (planned)Auth signingPlaceholder in .env.exampleNot wired
STRIPE_SECRET_KEYAPI (future)Dokploy env (planned)Stripe APIEmpty placeholders in .env.exampleNot implemented
STRIPE_PUBLISHABLE_KEYStorefront (future)Build-time env (planned)Public keyEmpty placeholderNot implemented
STRIPE_WEBHOOK_SECRETAPI (future)Dokploy env (planned)Webhook verificationEmpty placeholderNot implemented
AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEYAPI (SES, future)Dokploy env (planned)SES send permissionsEmpty placeholdersNot implemented
SES_FROM_EMAILAPI (future)Dokploy env (planned)Verified senderEmpty placeholderNot implemented
TWILIO_ACCOUNT_SID / TWILIO_AUTH_TOKENAPI (future)Dokploy env (planned)SMS sendEmpty placeholdersNot implemented
TWILIO_MESSAGING_SERVICE_SIDAPI (future)Dokploy env (planned)Messaging serviceEmpty placeholderNot implemented
S3_ACCESS_KEY_ID / S3_SECRET_ACCESS_KEYAPILocal .env (MinIO defaults)S3 bucket accessDev placeholders onlyLocal dev only
MAPBOX_ACCESS_TOKENAPI (future)Dokploy env (planned)GeocodingEmpty placeholderNot implemented
ACME account keysTraefikacme.json, acme-cloudflare.jsonLet's Encrypt accountHost filesystem onlyActive
Dokploy admin credentialsDokploy UIDokploy internalFull deployment accessNot in repositoryActive
SSH keysServer accessOperator workstationsServer administrationNot in repositoryActive

Cloudflare DNS API token

AttributeValue
File/etc/dokploy/traefik/secrets/cloudflare-dns-api-token
Permissions600, root:root
Container mount/run/secrets/cloudflare-dns-api-token via CF_DNS_API_TOKEN_FILE
Required scopesZone Read + DNS Edit on getbytebite.co
Optional hardeningSource IP restriction to 88.99.0.118/32

The token value must never appear in documentation.

Rotation (conceptual)

  1. Generate new credential at the provider (Cloudflare, Stripe, etc.).
  2. Update Dokploy environment or host filesystem file.
  3. Restart affected services (API containers for app secrets; dokploy-traefik for DNS token).
  4. Verify with Validation smoke tests.
  5. Revoke old credential at provider.

For Traefik DNS token rotation, also verify wildcard TLS issuance after restart.

  • TLS — Cloudflare token usage
  • Security — trust boundaries
  • Operations — rotation procedures
  • .env.example — local placeholder names (no real secrets)

On this page