Migrate from Slite to Docmost

A planning guide for moving Slite channels and docs to self-hosted Docmost, covering what moves cleanly, the cutover sequence, and what drives effort.

On this page

How to migrate from Slite to Docmost without losing the page tree

The move from Slite to Docmost is mainly an export, import and rebuild exercise, and permissions and internal links will need the most manual attention. Expect the imported content to arrive as a flat set of pages that you then reorganize into the page tree. In most organizations an internal platform or IT team runs the work, with a named content owner for each area who confirms that pages, links and access look right after the move. Effort depends on page count, attachments, integrations with other tools and the complexity of the permission model. The Slite export formats, options and any limits must be confirmed directly with Slite, because this guide does not cover them.

Start by confirming which export format Slite provides for channels and docs, then test one channel end to end before exporting everything. On the Docmost side, the import dialog accepts Markdown and HTML files, including inside a ZIP archive, and pages or whole spaces can be exported as Markdown or HTML, so keep a copy of your exported content as a fallback. Decide your target spaces first and map each Slite channel to one. Then rebuild the tree by moving pages under their parents. Internal links are the weakest point: links written against Slite addresses will usually still point to the old location, so build a sheet that maps each old address to its new page, and update the most used links first. The Docmost import and export documentation lists the supported formats.

Permissions must be re-created by hand, so inventory who can view and edit each Slite area before you build the Docmost spaces. Access is managed per space and through groups, and the paid edition adds page-level permissions, so decide whether space-level access is enough for each area. Assign access through groups wherever a team shares an area, which keeps the list shorter to maintain. Then check embeds and images on every migrated page. Docmost supports embeds from tools such as Airtable, Loom and Miro, and each embed still depends on its source, so test that it loads and that its access rules still apply. Open the image and attachment on each page to confirm it displays. Ask each content owner to review a sample of pages in their area and record sign-off before you retire the Slite workspace.

What maps from Slite to Docmost and what needs rework

This table compares common Slite capabilities with their Docmost counterparts, based on Docmost's README and documentation. Each row is marked clean, needs rework, or gap, so you can see what carries over directly and what you must rebuild or accept as a change. Confirm the Slite-side details against your own workspace and plan before you finalize the mapping.

Slite capabilityDocmost equivalentStatus
Documents and page contentPages with real-time collaboration, page history and file attachments; Markdown and HTML import and exportClean
Channels as organizing unitsSpaces with permissions management; channels usually become spaces, and their membership must be rebuiltNeeds rework
Search across documentsBuilt-in page search; search inside PDF and DOCX attachments is a paid-edition featureNeeds rework
Page and space permissionsSpaces and groups in Community; page-level permissions are a paid-edition featureNeeds rework
Embeds from Airtable, Loom and MiroEmbed support listed in the README; check each embed URL and provider behavior after importNeeds rework
Diagrams and whiteboardsDraw.io, Excalidraw and Mermaid diagrams; Slite-native drawings typically need re-creationNeeds rework
Comments and page historyComments and page history are listed in the README; confirm that imported pages keep prior versionsClean
Single sign-on and MFAEmail and password, LDAP, SAML or OIDC and TOTP MFA; SAML, OIDC, LDAP and MFA are paid-edition featuresNeeds rework
Slite AI answersNo direct equivalent in the Community edition; the AI chat in Docmost is a paid-edition featureGap

Which data moves, through which export path

A Slite move is really five separate transfers: document bodies, attachments, channel structure, people and access, and embedded content. Each has a different export path into Docmost, and each needs confirmation from Slite before the migration plan is fixed. The documented Docmost routes are Markdown and HTML files, including ZIP archives, and whole spaces exported as Markdown or HTML.

Document bodies as Markdown or HTML

Page text, headings, lists and tables are the core of the move. Docmost's import dialog accepts Markdown and HTML files, including inside a ZIP archive, so the first question for Slite is whether its export produces one of these formats with the page hierarchy intact. Ask Slite whether exports include every document or only the ones you select, and whether titles and nested structure survive. Test a small sample before a full run.

Attachments and inline images

Files and images referenced from documents are the most common point of loss in wiki moves. Confirm with Slite whether attachments are bundled with the export or only linked to hosted URLs, since links to a service you are leaving may stop working. Check whether image paths in exported Markdown or HTML still resolve after import. Plan a sample page review for images and file downloads on every space.

Channels mapped to Docmost spaces

Slite organizes content into channels, and Docmost organizes it into spaces with their own permissions and page trees. Decide before exporting whether each Slite channel becomes one Docmost space, and whether any channels should merge. Confirm with Slite whether an export preserves channel membership or only document content, because that determines how much of the access model you rebuild by hand.

Users, groups and access

Docmost's permissions, groups and page-level access must be set up again in the new instance, since document exports generally carry content rather than access rules. Ask Slite what user and group data it can export and in what format. Plan to map each Slite membership to a Docmost group before import, and check the access on sensitive spaces after the move. SSO and SCIM provisioning are Docmost paid-edition features, so confirm which ones you need.

Embeds, integrations and Word files

Embeds from tools such as Airtable, Loom or Miro may survive as links or may appear as raw markup, so test each type separately. Docmost's Word DOCX importer is a paid-edition feature, so plan a route for Word files if Slite exports them. Docmost's Confluence importer and Notion export ZIP import do not apply to a Slite export. Confirm with Slite whether it offers any API or connector for bulk export, because this migration path does not assume one.

The migration sequence from inventory to Slite decommission

This five-step sequence moves Slite content into Docmost without losing pages, links or access rules, and ends with Slite closed only after readers have confirmed the new wiki works for them.

  1. Inventory every channel, page and permission

    Before any export, list each Slite channel with its page count, attachment volume, embedded tools such as Loom, Miro or Airtable, the owner of each channel and who can read or edit it. Record which internal links point between pages, because those links will need rebuilding in Docmost. Flag content that is out of date or duplicated so it can be archived instead of migrated. The output is a spreadsheet with one row per channel that names an owner and a target Docmost space, and a list of permission groups to recreate. You know this step is done when every channel has an owner who has confirmed the inventory row.

  2. Install Docmost and run a pilot channel

    Install Docmost with Docker, following the project's installation documentation. Use the compose template, which runs PostgreSQL 18 and Redis 8 images, set an APP_SECRET of at least 32 characters, and enable WebSockets on the reverse proxy so the real-time editor works. Check the current release tag on the Docmost GitHub tags page before pinning a version. Export one low-risk Slite channel as Markdown or HTML, import it into a test Docmost space, and rebuild its page tree and internal links. Ask five to ten real readers to find pages, open attachments and check embeds, then record what broke. The output is a short defect list and a go or no-go decision for the full move. Your internal team confirms the pilot when readers can complete their normal tasks without help.

  3. Run Docmost in parallel with Slite

    Keep Slite read-write while Docmost is loaded with the remaining channels in batches. Assign a named owner for each Docmost space who is responsible for the page tree, link repairs and the list of pages that still need attention. Recreate spaces, groups and page-level permissions in Docmost, and confirm that the permission model matches the inventory from step one. Track differences between the two systems in a shared log, including embeds that need re-linking and images that did not carry over. The output is a Docmost workspace that matches the inventory, with each space signed off by its owner. You know this step is done when every owner has signed off their space and the open defect list contains only items with a named fix.

  4. Freeze Slite, do the final import and announce

    Announce a freeze date to all readers, then stop edits in Slite for the channels being moved. Take a final export of each channel as Markdown or HTML, import it into Docmost, and run the same link and permission checks used in the pilot. Compare page counts and attachment counts between the two systems and resolve every gap before opening the new space to readers. Send a short announcement that states where content now lives, how to request access and which Slite URLs will stop accepting edits. The output is a Docmost space that passes the checks and a published switch notice. Confirm the cutover by asking each space owner to open their top pages in Docmost and verify that links and images work.

  5. Decommission Slite after a read-only period

    Keep Slite in read-only mode for a period your team sets with stakeholders, so readers can find anything the migration missed. Archive a full export of Slite content in a location your records policy covers, and store it with the inventory and defect logs. Before you cancel, read your Slite agreement to confirm the notice terms, auto-renewal conditions and any data return or deletion commitments, and ask Slite to confirm them in writing if the contract is unclear. Cancel the subscription only after the reader sign-off is recorded. The output is an archive, a closed decommission record and a confirmed cancellation date. Ask Slite for written confirmation of the final date on which your data is available or deleted.

How the Slite migration differs by team size and starting point

A small team with a limited number of channels and mostly text pages has the simplest move. The inventory is short enough to review by hand, and most pages will convert cleanly from Markdown or HTML export. The main work is checking that the page tree reads sensibly in Docmost and that internal links still resolve after import.

  • Inventory: List every channel and its pages in a single sheet, marking which pages are current, which are stale and which can be dropped.
  • Pilot scope: Import one channel first, then open its pages and confirm headings, lists, tables and links look correct.
  • Permissions: Recreate a small set of spaces and groups by hand, since there are few owners to confirm.
  • Links: Fix internal links manually where the export changed the target path.

Before cutover, ask a few users to find three or four pages they use often and confirm the content and search results match what they expect.

What drives the cost and duration of the Slite to Docmost move

This table lists the factors that change the effort of moving Slite content into Docmost, with a note on how to keep each one manageable. Read it as a checklist for the inventory you should complete before asking for a fixed-scope quote, because the largest effort usually comes from links, permissions and rebuilt embeds rather than from raw page count.

DriverWhy it mattersHow to keep it down
Page and attachment volumeEvery page and file must be exported, imported and checked. Large attachment sets increase transfer time and storage sizing for Docmost's local or S3-compatible file storage.Archive stale channels before export, sort content into keep, migrate and retire groups, and confirm the storage backend before the first test import.
Number of channels and their ownersSlite organizes content in channels, which must be mapped to Docmost spaces. Each channel needs an owner who signs off on structure and content.Map channels to spaces in a written table, limit the number of spaces, and name one approver per space so review does not stall.
Embeds and diagrams needing re-creationEmbeds from third-party tools may not survive export as working links, and diagrams may need rebuilding in Docmost's Draw.io, Excalidraw or Mermaid support.Inventory every embed and diagram, decide whether to keep, convert or retire each one, and test a sample page before scaling.
Permission complexityPage-level permissions and groups must be rebuilt by hand because an export does not carry them over. Page-level permissions are a paid-edition feature in Docmost.Document the current access model, reduce it to space-level groups where possible, and confirm early whether page-level permissions are required.
SSO and MFA requirementsSAML 2.0 or OIDC, LDAP, SCIM and MFA are listed as paid-edition features, so identity integration changes the edition and the setup work.Decide the identity source before installation, confirm which edition covers each requirement, and budget the integration as a separate work item.
Link densityInternal links are not automatically reconnected when pages move. Dense cross-referencing means many links to check, rewrite and test.Export a list of internal links, prioritize pages that are most linked, and keep a link-check report as an acceptance step.
Integrations to rebuildSlite integrations, bots and automations do not move with the content. Each one needs a replacement or a decision to drop it.List every connected tool and its owner, mark each as replace, rebuild or retire, and exclude retired items from the quote scope.
Hosting, PostgreSQL and Redis operationsDocmost's Docker template runs PostgreSQL and Redis, and the real-time editor needs WebSockets through the reverse proxy. These are recurring operating tasks.Use your existing hosting standards, confirm who runs patching and backups, and ask the implementer to document the runbook.
Internal review timeContent owners must confirm that migrated pages are accurate. Review often takes longer than the technical import and depends on how many people are available.Schedule reviewers before the migration starts, sample pages by owner, and agree in writing what counts as acceptance.

What usually goes wrong when moving from Slite to Docmost

Most problems in a Slite to Docmost move appear after import, not during it. The risks below cluster around links and content integrity, access control, and the self-hosted stack that serves the wiki after cutover. Each card names the check to run at the step where it is cheapest to fix.

Broken internal links and image paths

Links between Slite docs and image references often point at Slite URLs or relative paths that do not resolve once pages land in Docmost spaces. Import a pilot space first, then click a sample of cross-linked pages and confirm every image renders. Build a list of link patterns from the export and fix them in a single pass before the full import, so the page tree and cross-references are rebuilt once rather than patched page by page.

Permissions flattened during re-creation

Slite channel membership and per-doc access do not travel as a set of rules that Docmost reproduces automatically. Map each Slite channel to a Docmost space, then recreate space members and groups, and decide which pages need stricter page-level restrictions. Ask whether a restricted page in Slite is still restricted after import, and test with a non-admin account from each group before users receive access.

Embeds that do not render as expected

Docmost supports embeds from tools such as Airtable, Loom and Miro, and diagrams in Draw.io, Excalidraw and Mermaid. Some embeds exported from Slite may appear as plain links or static text, and third-party frames may be blocked by your browser or proxy policy. Inventory every embed type in the export, open each one in the target environment, and rebuild unsupported diagrams as Mermaid or Excalidraw before cutover.

Attachments left behind in the export

A Markdown or HTML export carries text and often references to files, but attachments may be missing, renamed, or stored separately from the page. Compare the attachment count in Slite with files present in the Docmost workspace after each import batch. Decide whether file storage stays local or moves to S3-compatible storage before the import, because moving files later changes every reference and adds a second verification pass.

Stale content read after cutover

If Slite stays writable while teams begin using Docmost, edits made in Slite after the export silently fail to appear in the new wiki. Set a freeze date, announce it, and make Slite read-only or add a banner pointing to the new location. Plan a delta export for the final days, and confirm the last-modified dates on migrated pages match the freeze point before you retire the old workspace.

Underprovisioned self-hosted stack

Docmost's Docker template runs PostgreSQL 18 and Redis 8, requires an APP_SECRET of at least 32 characters, and needs WebSockets enabled on any reverse proxy for the real-time editor. A missing WebSocket upgrade shows as editing that fails silently, and a weak or reused APP_SECRET weakens sessions. Before the pilot, confirm WebSocket headers on your proxy, generate a unique secret, and restore a test copy of both PostgreSQL and file storage to prove backups work.

Questions teams ask before moving from Slite to Docmost

Can we import our Slite content into Docmost directly?

Probably yes, but confirm the export format with Slite first, because that determines the import path. Docmost's import dialog accepts Markdown and HTML files, including inside a ZIP archive, and it also accepts Word DOCX files. Pages and whole spaces can be exported from Docmost as Markdown or HTML, which gives you a working format for checking the result. Slite does not have a native Docmost importer, so the realistic path is an export from Slite into files, a restructuring pass to match Docmost spaces, and an import followed by a review of every page. Plan for the parts that do not survive conversion cleanly, such as custom blocks, nested layouts and images stored under expiring links. Ask Slite's support team which export formats your workspace can produce, then test the import on one channel before committing to the full set.

How long does a Slite to Docmost migration take?

The duration depends mainly on the inventory: how many channels, documents and attachments you have, how deep the page tree goes, and how many internal links and embeds need manual correction. A small workspace with clean Markdown-friendly content is a very different job from a large one with years of unstructured pages. The most reliable way to size the work is an inventory pass that counts pages per channel, flags embeds from third-party tools, and lists which pages link to which. Ask any implementation partner to base its written scope and timeline on that inventory rather than on a generic estimate. Schedule a parallel run in which both tools are available so that teams can verify content before the cut-over date.

What do we need to provide from our side?

You need a named owner for each space, a complete inventory of what lives in Slite, access to the infrastructure where Docmost will run, and decisions on permissions and single sign-on before import begins. Space owners decide what is current, what should be archived and how the page tree should look after the move. Your infrastructure team provides a host or cloud account, a reverse proxy with WebSockets enabled for the real-time editor, and storage for attachments. Security and identity teams decide whether the Community edition with email and password is acceptable or whether LDAP, SAML or OIDC login is required, since those authentication methods appear in Docmost's paid editions. Records of who can see which content should also be written down, because permissions are re-created by hand in Docmost rather than copied automatically.

Can our own team run the migration without outside help?

Yes, if your team can run Docker, operate a PostgreSQL and Redis pair, configure a reverse proxy and carry out structured content checks. Docmost's installation documentation describes a Docker compose template that runs PostgreSQL 18 and Redis 8 images and requires an APP_SECRET of at least 32 characters, so the installation itself is a manageable task for a platform team. The harder work is verification: opening sample pages from every space, confirming that the page tree and internal links resolve, checking that embeds from tools such as Loom or Miro still display, and confirming that images load after the move. Assign that verification to named people with a checklist, and keep a list of anything that needs rework. Internal teams that lack this capacity often find that the content review, not the software setup, sets the pace.

What does Docmost cost to run after the migration?

The Community edition is free to self-host under AGPL-3.0, so the licence itself has no fee. Docmost's pricing page lists a Business plan at $6 per seat per month billed annually with a 10-seat minimum, and Enterprise is priced by quote and adds SCIM, audit logs, SIEM integration and a page verification workflow. Costs that remain regardless of licence choice include the servers or cloud accounts that run Docmost, PostgreSQL and Redis, storage for attachments (local by default, with S3-compatible or Azure Blob storage as options), backups, monitoring and staff time for upgrades. Compare these with your current Slite plan, which is priced per user with SSO on Pro and SCIM on Enterprise. Ask any provider for a written breakdown of one-time and recurring items, and confirm which features you need before choosing a licence tier.

When should we bring in an outside partner for the move?

Bring in an outside partner when permissions, single sign-on and audit requirements are strict, or when the page count is large enough that manual review cannot finish on time. Regulated teams often need evidence that access was re-created correctly, that SSO and multi-factor authentication are enforced, and that content was moved without loss. DeployOpen plans, implements, integrates, hardens, backs up and documents self-hosted platforms in your own infrastructure, and most engagements are fixed-scope with deliverables and timelines agreed in writing before work starts. DeployOpen also prepares systems and evidence for compliance assessments, but it does not issue audit reports or certifications, which independent auditors provide. Ask for a written scope that names the inventory, the permission model, the verification checklist and the handover.

Which Docmost features need a paid edition before we switch?

Several features that teams commonly rely on are paid-edition features, so confirm them before you commit to a licence. Docmost's documentation lists page-level permissions, SSO with SAML 2.0 or OIDC, LDAP, SCIM provisioning, MFA, page verification with approval, the REST API with personal keys, search inside PDF and DOCX attachments, and the Confluence, DOCX and PDF importers as paid-edition features. The Community edition still includes real-time collaboration, spaces, groups, comments, page history, search and file attachments, along with email and password, LDAP, SAML or OIDC single sign-on and TOTP multi-factor authentication as listed in the documentation. Check the current feature list on the pricing page and the documentation, because editions change, and map each feature you rely on in Slite to the edition that provides it.

How DeployOpen scopes and runs a Slite to Docmost migration

DeployOpen treats a Slite to Docmost move as a fixed-scope engagement inside your own infrastructure. We agree the content inventory, permission model and deliverables in writing before any export or import starts, then build, test and document the target Docmost instance for your team.

How we scope

  • Inventory Slite channels, docs, nested pages, attachments and embeds to set the migration boundary
  • Map Slite groups and access levels to Docmost spaces, groups and page-level permissions in writing
  • Agree which content moves, which is archived and which is retired before any export begins

How we build

  • Deploy Docmost in your environment using the Docker installation path and its PostgreSQL and Redis images
  • Run test imports of Markdown or HTML ZIP archives into a staging space and review the rebuilt page tree
  • Rewrite internal links, check embeds and images, and confirm permissions against the approved mapping

How we hand over

  • Provide a written record of the content mapping, import steps, exceptions and known gaps
  • Document administration tasks for spaces, groups, authentication and backups in Docmost
  • Walk your administrators and content owners through verification checks before cutover

How we support

  • Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing first
  • Ongoing support, upgrades and continuous testing are available as a retainer after handover
  • Ask any quote to itemize scope, environment work, post-migration support and paid Docmost edition needs

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.