Skip to main content
The meepachat binary manages the server lifecycle, infrastructure services, and self-updates.
These are commands for the server binary (meepachat). For the client CLI used to interact with a running instance, see CLI Quickstart.

init

Set up MeepaChat infrastructure with Docker. Starts Postgres, Redis, and MinIO, bootstraps authentication, and writes a config to ~/.meepachat/config.yaml.
Run this once after installing. It requires Docker and Docker Compose v2.

What it does

  1. Checks that Docker and Docker Compose v2 are available
  2. Writes a Docker Compose file to ~/.meepachat/
  3. Starts infrastructure services (Postgres, Redis, MinIO)
  4. Bootstraps authentication
  5. Writes a complete config to ~/.meepachat/config.yaml

Flags

Use existing infrastructure

Set environment variables before running init to skip specific Docker containers:

Port overrides

MeepaChat uses non-default ports for infrastructure to avoid conflicts with local services:

Data directory

Config and compose files are stored in ~/.meepachat/ by default:

start

Start the MeepaChat server. Forks to the background by default.
If infrastructure services are configured but not running, start brings them up first. The command polls the health endpoint and exits once the server is ready.

Flags

Server logs are written to ~/.meepachat/server.log when running in background mode.

stop

Stop all services.

restart

Restart the server process.

status

Show server status and infrastructure service health.

logs

Show logs for infrastructure services (Postgres, Redis, MinIO). Server application logs are written to ~/.meepachat/server.log.

reset

Stop all services and remove infrastructure. Prompts for confirmation unless --yes is passed.
--hard permanently deletes all data including the database. There is no undo.

update

Check for updates and self-update the binary.
  • If installed via Homebrew, prints brew upgrade bogpad/tap/meepachat instructions instead of updating in place
  • Otherwise, downloads the latest release from GitHub and replaces the binary in place
  • Falls back to sudo if the binary is in a protected path (e.g. /usr/local/bin)
Auto-update can also be enabled in config to update automatically every 6 hours. See Auto-Update.

version

Print version, commit hash, and build date.
Also available as meepachat --version or meepachat -v.