serverpod-configuration

Resolve YAML, environment variables, and Dart overrides for Serverpod runtime configurations.

3.2k|369|Updated May 22, 2021
One-click install
npx skills add https://github.com/serverpod/serverpod --skill serverpod-configuration
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: serverpod-configuration
Source: https://github.com/serverpod/serverpod/tree/main/packages/serverpod/skills/serverpod-configuration
Command: npx skills add https://github.com/serverpod/serverpod --skill serverpod-configuration

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Setting up Serverpod across development, staging, production, and test environments is error-prone because configuration is split across YAML files, environment variables, and per-mode secrets.

Core Features & Use Cases

  • Environment-aware YAML configuration: Define mode-specific settings in config/development.yaml, config/staging.yaml, config/production.yaml, and config/test.yaml and select the run mode with --mode or SERVERPOD_RUN_MODE.
  • Priority-based overrides: Ensure predictable resolution where a Dart config object overrides environment variables, which override YAML config files.
  • Secrets and passwords management: Store sensitive values in config/passwords.yaml or supply them via environment variables prefixed with SERVERPOD_PASSWORD_, organized by shared plus per-mode sections.

Quick Start

Use the serverpod-configuration skill to produce a correct config/development.yaml (and passwords.yaml entries) for your API server, database, and Redis, then run Serverpod with the appropriate mode and environment variable overrides for sensitive values.

Frequently Asked Questions about serverpod-configuration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure Serverpod across different environments?

Configure Serverpod using mode-specific YAML files like development.yaml and production.yaml. Select the active environment using the --mode flag or SERVERPOD_RUN_MODE variable to apply the correct database, Redis, and API server settings.

What is the precedence order for Serverpod configuration overrides?

Serverpod applies configuration using a priority-based resolution: Dart config objects take precedence over environment variables, which in turn override settings defined in YAML config files.

How do I manage passwords and secrets in Serverpod securely?

Manage Serverpod secrets by storing sensitive values in config/passwords.yaml or supplying them via environment variables prefixed with SERVERPOD_PASSWORD_, organized through shared and per-mode sections.

Can I use environment variables to override Serverpod database settings?

Yes, environment variables override YAML database settings for PostgreSQL or SQLite connections. They are resolved below Dart config overrides but above base YAML configurations.

Does Serverpod configuration support Redis connectivity setup?

Yes, Serverpod configuration resolves Redis connectivity alongside API endpoints and database connections within your mode-specific YAML files.

Why is my Serverpod test configuration not loading correctly?

Serverpod test configuration requires correct mode selection via --mode or SERVERPOD_RUN_MODE. Ensure test.yaml is properly formatted and that environment variable overrides follow the correct precedence rules.