Skip to main content
Authenticate using the device flow — no client ID or secret needed:
This will:
  1. Display a one-time code in your terminal
  2. Open your browser to authorize
  3. Automatically save credentials to ~/.postiz/credentials.json

Auth Commands

API Key

Alternatively, set your Postiz API key as an environment variable:
You can get your API key from the Postiz Settings page.
OAuth2 credentials take priority over the API key when both are present.

Environment Variables

*Either OAuth2 (via postiz auth:login) or POSTIZ_API_KEY is required.

Self-Hosting the Auth Server

By default, postiz auth:login uses the hosted auth server at cli-auth.postiz.com. If you want to self-host the OAuth2 device flow server, you can run your own instance. The auth server mediates the OAuth2 device flow so CLI users can authenticate without needing client credentials.

Prerequisites

  • Node.js >= 18
  • PostgreSQL

How It Works

1. Clone the Repository

The auth server lives in the postiz-agent repository:

2. Create an OAuth App in Postiz

Go to Postiz Settings > Developer > OAuth Apps and create a new app. Set the callback URL to:

3. Set Up Postgres

Create a database. The server auto-creates the device_requests table on startup.

4. Configure Environment

5. Run the Server

6. Point the CLI to Your Server

Server Endpoints

Deployment

Any platform that runs Node.js and can connect to Postgres works — Railway, Fly.io, Render, VPS, etc. The server is stateless beyond Postgres, so it scales horizontally. Run multiple instances behind a load balancer if needed.