Documize
Complete Installation Guide: Documize Community on Ubuntu (with PostgreSQL)
This guide installs Documize Community on a fresh Ubuntu 20.04/22.04/24.04 server, sets up PostgreSQL, and runs Documize as a systemd service. It uses Documize’s official installation approach (single binary + config file). Latest release info is referenced from Documize’s site and GitHub.
0) Basics & Assumptions
- You are on an amd64/Intel Ubuntu server with
sudo. - We will run Documize on port 8080 and connect to a local PostgreSQL.
- Documize ships as a single executable (no installer). :contentReference[oaicite:1]{index=1}
1) Update the system & install helper tools
sudo apt update && sudo apt upgrade -y sudo apt install -y curl wget jq ca-certificates tar
2) Install PostgreSQL and enable it
sudo apt install -y postgresql postgresql-contrib sudo systemctl enable --now postgresql sudo systemctl status postgresql --no-pager
3) Create the Documize database and user (UTF-8)
sudo -u postgres psql <<'SQL' CREATE DATABASE documize TEMPLATE template0 ENCODING 'UTF8'; CREATE USER docuser WITH ENCRYPTED PASSWORD 'ChangeMe_SuperStrong_!@#'; GRANT ALL PRIVILEGES ON DATABASE documize TO docuser; SQL
Verify PostgreSQL is reachable:
pg_isready -d "host=localhost port=5432 dbname=documize user=docuser"
pg_isready checks connectivity. It should report “accepting connections”.
4) Create a dedicated user and folders for Documize
sudo useradd -r -s /usr/sbin/nologin -d /opt/documize documize || true sudo mkdir -p /opt/documize /var/lib/documize sudo chown -R documize:documize /opt/documize /var/lib/documize
Inside the PostgreSQL shell, run the following (replace the password with a strong one):
CREATE DATABASE documize; CREATE USER docuser WITH ENCRYPTED PASSWORD 'StrongPasswordHere'; GRANT ALL PRIVILEGES ON DATABASE documize TO docuser; \q
5. Download the latest Documize Community binary (Linux amd64)
Pull the latest Linux amd64 asset from GitHub
DL_URL="$(curl -s https://api.github.com/repos/documize/community/releases/latest \ | jq -r '.assets[] | select(.name | test("linux-amd64$")) | .browser_download_url')" echo "Latest binary: $DL_URL" sudo curl -L "$DL_URL" -o /opt/documize/documize
Make it executable and owned by our system user:
sudo chmod 0755 /opt/documize/documize sudo chown documize:documize /opt/documize/documize
6) Create a Documize configuration file (TOML)
Documize supports a simple config file for port and DB connection. Example for PostgreSQL:
sudo tee /etc/documize/config-postgresql.conf >/dev/null<<'EOF' # Documize configuration (TOML) port = 8080 # for SSL, you could also set: # forcesslport = 8443 # cert = "/etc/documize/tls/cert.pem" # key = "/etc/documize/tls/key.pem" [database] type = "postgresql" # DSN style connection; ensure UTF-8: connection = "host=localhost port=5432 dbname=documize user=docuser password=ChangeMe_SuperStrong_!@# sslmode=disable" # Optional storage path for uploads/exports [storage] path = "/var/lib/documize" EOF
7) First manual run (smoke test)
sudo -u documize /opt/documize/documize --config=/etc/documize/config-postgresql.conf
Open your browser to:
http://<server-ip>:8080
You should see the setup UI; create the admin account and proceed.
Stop with Ctrl+C when you’re satisfied the app starts.
8) Run Documize as a systemd service
Create the service unit:
sudo tee /etc/systemd/system/documize.service >/dev/null <<'EOF' [Unit] Description=Documize Community After=network.target postgresql.service Wants=postgresql.service [Service] User=documize Group=documize WorkingDirectory=/opt/documize ExecStart=/opt/documize/documize --config=/etc/documize/config-postgresql.conf Restart=always RestartSec=5s AmbientCapabilities=CAP_NET_BIND_SERVICE [Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo systemctl enable --now documize sudo systemctl status documize --no-pager
9) (Optional) UFW firewall opening
sudo ufw allow 8080/tcp sudo ufw reload
10) Production notes (next steps)
Configure mail (for notifications) and request a free activation key under Settings → Billing (the site’s “Get Started” pane explains the free tier). documize.com
Put Documize behind NginxLet’s Encrypt and terminate TLS there. Back up PostgreSQL regularly (pg_dump/pg_dumpall).
Installation completed!
Documost is now installed.