Install Docmost on Ubuntu 24.04

Install Docker

$mkdir docmost
$cd docmost
$curl -O https://raw.githubusercontent.com/docmost/docmost/main/docker-compose.yml

$openssl rand -hex 32
copy SECRET

$sudo nano docker-compose.yml


version: "3"

services:
docmost:
image: docmost/docmost:latest
depends_on:
- db
- redis
environment:
APP_URL: "http://localhost:8045"
APP_SECRET: "REPLACE_WITH_LONG_SECRET"
DATABASE_URL: "postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost?schema=public"
REDIS_URL: "redis://redis:6379"
ports:
- "8045:3000"
restart: unless-stopped
volumes:
- docmost:/app/data/storage

db:
image: postgres:16-alpine
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: STRONG_DB_PASSWORD
restart: unless-stopped
volumes:
- db_data:/var/lib/postgresql/data

redis:
image: redis:7.2-alpine
restart: unless-stopped
volumes:
- redis_data:/data

volumes:
docmost:
db_data:
redis_data:

APP_URL should be replaced with your chosen domain. E.g. https://example.com

docker compose up -d

Set up nginx reverse proxy and let's encrypt

for nginx reverse proxy add this to enable websocket

location / {
    # redirect all HTTP traffic to localhost:8045
    proxy_pass http://localhost:8045;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    # WebSocket support
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}