Choose a Deployment
DocsGPT runs as an API (which also serves the web UI), a Celery worker, PostgreSQL and Redis. Every install method below runs those same pieces. They differ in who manages them, where the data lives, and which version you get.
At a glance
| Method | Best for | What runs | Address | Data | Version |
|---|---|---|---|---|---|
Installer / docsgpt up | Most people: a laptop, a home server or a cloud VM | Docker Compose stack managed by the docsgpt command | http://localhost:7091, or https://<domain> with --domain | Named Docker volumes; settings in ~/.docsgpt/server/.env | The installed packageβs release |
| Standalone Compose file | Running the images with plain Docker Compose, no Python on the host | The same stack, from one downloaded file | http://localhost:7091 | Named Docker volumes; .env next to the file | latest unless DOCSGPT_IMAGE_TAG is set |
Source checkout, setup.sh | Trying changes, building your own images | Compose files under deployment/ | http://localhost:5173 (UI) and :7091 (API) | Uploads and indexes in application/ in the checkout, the database in the docsgpt-oss_postgres_data volume; .env in the repository root | develop (follows main) unless DOCSGPT_IMAGE_TAG is set |
| pip install | Hosts without Docker, or your own process manager | docsgpt api and docsgpt worker (or docsgpt up --native services) against your Postgres and Redis | http://127.0.0.1:7091 | ~/.docsgpt/server | The installed packageβs release |
| Kubernetes | Clusters, several API or worker replicas | Manifests in deployment/k8s/ | Through kubectl port-forward or your Ingress | Postgres volume, S3 for uploads | Pinned in the manifests |
| Air-gapped | Networks without internet access | Any of the above, with images and models brought in | As above | As above | Whatever you mirror |
| Development environment | Working on DocsGPT itself | Postgres and Redis in Docker, the app from source | http://localhost:5173 | The checkout | Your working tree |
Which one to pick
-
Start with the installer.
curl -fsSL https://docs.ac/install | bash(orirm https://docs.ac/install.ps1 | iexon Windows) installs thedocsgptpackage and runsdocsgpt up. It generates the secrets, keeps the stack on the release you installed, and gives youdocsgpt status,docsgpt backupanddocsgpt upgrade. See the Quickstart. -
On a cloud VM, such as Amazon Lightsail, Hetzner, DigitalOcean or any other provider, use the same installer with a domain. Point the domainβs DNS record at the VM, open ports 80 and 443, then run:
curl -fsSL https://docs.ac/install | bash -s -- --domain docs.example.comCaddy obtains the certificate and DocsGPT asks for an access token. Keep the other ports closed. For separate user accounts, add OIDC single sign-on.
-
Prefer plain Compose when you manage containers yourself, for example with an existing Compose-based setup. The standalone file runs the same images as
docsgpt up, anddocsgpt up --adoptcan take it over later. -
Use a checkout to change the code or build images.
setup.shand the checkout Compose files are meant for local use: they rundevelopimages by default and publish on127.0.0.1. SetDOCSGPT_IMAGE_TAGin.envto pin a release. -
Use pip where Docker is not available or not wanted. You provide PostgreSQL and Redis;
docsgpt up --nativecan run the API and worker as launchd or systemd services on macOS and Linux. -
Use Kubernetes when you already run a cluster and want replicas, rolling upgrades and your own Ingress.
Before DocsGPT is reachable by anyone else, set AUTH_TYPE, a real
INTERNAL_KEY and ENCRYPTION_SECRET_KEY, and publish it over HTTPS.
docsgpt up does most of this for you. Work through the
security checklist for any other method.
After installing
- App Configuration: where
.envlives and the main settings. - docsgpt CLI Reference: every
docsgptcommand. - Upgrading: how to move to a new release on each install method.