Skip to main content

How to Upgrade a Self-Hosted Docmost Instance

Keeping Docmost up to date helps you receive the latest security fixes, bug fixes, performance improvements, and features. Before upgrading, make sure you have a recent backup of your database, uploaded files, and application configuration. If you haven't created a backup yet, follow the How to Back Up and Restore a Self-Hosted Docmost Deployment guide first.

In this guide, you'll upgrade a self-hosted Docmost instance from v0.80.2 to v0.95.0 using Docker Compose. You'll verify the current deployment, review the release notes, update the Docmost image, complete the upgrade, and verify that your pages, spaces, and uploaded files are preserved. The same workflow can be applied to other supported Docmost upgrades after reviewing the release notes for the target version.

note

This article was tested on a live server before publication. Every command, configuration file, and verification step was validated on the final deployment to maintain accuracy.

Prerequisites​

Before you begin, make sure you have the following:

  • A Running Docmost Deployment: A self-hosted Docmost instance deployed with Docker Compose.

  • A Non-Root User with Sudo Privileges: SSH or terminal access to the server using the non-root user created during deployment.

  • Docker Engine and Docker Compose: Installed on your server to manage the deployment.

  • A Recent Backup: A current backup of your Docmost database, uploaded files, and configuration, created before you begin the upgrade.

Infrastructure Used​

This guide was validated using the following infrastructure:

  • Cloud Provider: DigitalOcean
  • Operating System: Ubuntu 24.04 LTS
  • Deployment Environment: Virtual Machine (Droplet)
Disclosure

This guide contains affiliate links. If you sign up through these links, I may earn a commission at no additional cost to you. I only recommend products and services that I personally use while testing my guides.

Step 1: Verify the Current Deployment​

  1. Verifying your current deployment before making any changes gives you a baseline you can compare against once the upgrade is complete. In this step, you'll confirm that all containers are running and record the current Docmost image version.

  2. Run the following commands:

    docker compose ps
    docker compose images
    docker image inspect docmost/docmost:0.80.2 --format='{{.RepoTags}}'

    The output should show that the Docmost container is running and using the 0.80.2 image, along with the Redis and Traefik containers.

Step 2: Review the Release Notes​

  1. Reviewing the release notes for the target version helps you identify any breaking changes, new configuration requirements, deprecated features, or manual migration steps that could affect your deployment.

  2. For this guide, the Docmost instance is upgraded from v0.80.2 to v0.95.0. The v0.95.0 release notes describe a handful of quality-of-life additions — a workspace-level default edit preference, a /time slash command in the editor, and translation-aware search for slash-menu suggestions — along with several security fixes, but no breaking changes or manual migration steps.

  3. Once you've reviewed the release notes for your own upgrade path and confirmed there are no additional requirements, you're ready to update the Docker Compose configuration with the new Docmost image.

Step 3: Update the Docker Compose Configuration​

  1. With the release notes reviewed, update your Docker Compose configuration to point to the new Docmost image.

  2. Open the docker-compose.yml file in your preferred text editor:

    nano docker-compose.yml
  3. Locate the docmost service and update the image from:

    image: docmost/docmost:0.80.2

    to:

    image: docmost/docmost:0.95.0

    Save the file, then verify that the image tag has been updated successfully:

    grep "image:" docker-compose.yml

    The output should show that the Docmost service is using the docmost/docmost:0.95.0 image, while the Traefik and Redis images remain unchanged.

Step 4: Pull the Latest Docmost Image​

  1. After updating the image tag, pull the new Docmost image from Docker Hub before starting the upgrade.

    docker compose pull
  2. Docker Compose downloads the updated image while leaving the existing containers running. This ensures the new image is available locally before the upgrade begins, and avoids downtime caused by image downloads during deployment.

  3. After the command completes, verify that the docmost/docmost:0.95.0 image has been downloaded successfully before proceeding to the upgrade.

Step 5: Upgrade the Docmost Instance​

  1. With the latest image downloaded, recreate the Docmost container using the updated image.

    docker compose up -d
  2. Docker Compose stops the existing Docmost container and creates a new one from the 0.95.0 image. The existing Docker volumes are reused, so your uploaded files and persistent data remain intact throughout the upgrade.

  3. After the deployment completes, verify that all containers are running and confirm that the Docmost service is using the new image:

    docker compose ps

    The output should show the Docmost container running with the 0.95.0 image, while the Redis and Traefik containers continue running normally.

Step 6: Verify the Upgrade​

  1. After the containers have been recreated, review the application logs to confirm that Docmost started successfully and completed any required database migrations.

    docker compose logs -f docmost

    A successful startup should include log messages indicating that:

    • The Redis connection was established.
    • The database connection was successful.
    • Any pending database migrations were applied successfully.
    • The Nest application started successfully and is listening for incoming requests.
  2. Once you see these messages, press Ctrl+C to stop following the logs. At this point, the upgrade is complete and the application is ready for validation.

Step 7: Validate the Upgraded Instance​

  1. With the upgrade complete and confirmed through the logs, validate that the application itself is working correctly for end users.

  2. Open your Docmost instance in a web browser and check the following:

    • Sign in to your Docmost workspace.
    • Verify that all spaces are present.
    • Open several pages to confirm their content is intact.
    • Confirm that uploaded files and attachments are accessible.
    • Create a new page and save your changes.
    • Upload a new file to verify that file uploads are working correctly.
  3. If all of these checks pass, your existing pages, spaces, and uploaded files have been preserved, and the upgraded instance is operating normally.

Troubleshooting​

  1. The Updated Image Fails to Pull: If the image tag is incorrect or the version hasn't been published yet, docker compose pull will return an error similar to the following:

    Error response from daemon: manifest for docmost/docmost:0.95.0 not found: manifest unknown

    Fix: Confirm the exact version tag on the official Docmost GitHub releases page, correct the tag in docker-compose.yml, and run docker compose pull again.

  2. The Docmost Container Restarts Repeatedly After the Upgrade: If docker compose ps shows the container cycling through a restart loop instead of reaching an Up state, the new version may be failing to start.

    Fix: Review the container logs for the specific error:

    docker compose logs docmost

    Check the release notes again for any configuration changes you may have missed, and confirm your .env file still contains every variable the new version requires.

  3. A Database Migration Fails During Startup: If the logs show a migration error rather than a successful startup message, the upgrade should be rolled back rather than retried in place.

    Fix: Stop the deployment, then revert the image tag in docker-compose.yml to the previous version:

    docker compose down

    Start the deployment again on the previous version:

    docker compose up -d

    Once the previous version is confirmed working, restore your database from the backup taken before the upgrade if needed, and investigate the migration failure before attempting the upgrade a second time.

Further Steps​

Your Docmost instance is now running the latest version. Depending on your requirements, you may want to test upgrades on a staging environment before applying them to production, and keep an eye on new releases so you don't miss important security fixes.

For the full release history and changelogs, refer to the official Docmost GitHub releases page:

Docmost GitHub releases

Conclusion​

In this guide, you upgraded a self-hosted Docmost instance from v0.80.2 to v0.95.0 using Docker Compose. You verified the existing deployment, reviewed the release notes, updated and pulled the new container image, completed the upgrade, checked the application logs, and confirmed that your pages, spaces, and uploaded files were preserved.

Before upgrading to future releases, review the release notes, create a recent backup, and verify the application after the upgrade. Following these steps helps you identify potential issues early and keep your Docmost deployment up to date.