The Prefect CLI is the easiest way to start a local instance of Prefect server.
Start the server
- Spin up a self-hosted Prefect server instance UI with the
prefect server start
CLI command in the terminal:
- Open the URL for the Prefect server UI (http://127.0.0.1:4200 by default) in a browser.

- Shut down the Prefect server with ctrl + c in the terminal.
Go to your terminal session and run this command to set the API URL to point to a self-hosted Prefect server instance:
prefect config set PREFECT_API_URL="http://127.0.0.1:4200/api"
You can save the API server address in a Prefect profile.
Whenever that profile is active, the API endpoint is at that address.
See Profiles and configuration for more information on profiles and configurable Prefect settings.
Database configuration
Use SQLite (default)
By default, Prefect uses a SQLite database stored at ~/.prefect/prefect.db
. No additional configuration is needed for basic use.
Use PostgreSQL
To use PostgreSQL as your database backend:
- Set the database connection URL:
prefect config set PREFECT_API_DATABASE_CONNECTION_URL="postgresql+asyncpg://postgres:yourTopSecretPassword@localhost:5432/prefect"
- Start the server:
For more database configuration options, see the database settings reference.
Database management commands
Reset the database
Clear all data and reapply the schema:
prefect server database reset -y
Manage migrations
Apply database migrations:
# Upgrade to the latest version
prefect server database upgrade -y
# Downgrade to the previous version
prefect server database downgrade -y -r -1
# Downgrade to a specific revision
prefect server database downgrade -y -r d20618ce678e
For large databases, you may need to increase the timeout:
export PREFECT_API_DATABASE_TIMEOUT=600
prefect server database upgrade -y
Advanced configuration
For advanced deployment scenarios including:
- Running behind a reverse proxy
- Configuring SSL certificates
- Multi-server deployments
- Handling migration issues
See How to scale self-hosted Prefect.
Responses are generated using AI and may contain mistakes.