15 ms·
Show HN: I am building an open-source Confluence and Notion alternative
Hello HN,
I am building Docmost, an open-source collaborative wiki and documentation software.
It is an open-source alternative to Confluence and Notion.
I have been working on it for the past 12 months. This is the first public release (beta).
The rich-text editor has support for real-time collaboration, LaTex, inline comments, tables, and callouts to name a few.
Features
- Collaborative real-time editor
- Spaces (Teamspace)
- User permissions
- Groups
- Comments
- Page history
- Nested pages
- Search
- File attachments
You can find screenshots of the product on the website.
Website: https://docmost.com https://docmost.com
Github: https://github.com/docmost/docmost https://github.com/docmost/docmost
Documentation: https://docmost.com/docs https://docmost.com/docs
I would love to hear your feedback.
Thank you.
- jambutters 2y agoReminds me of anytype
- callamdelaney 2y agoEven installing this locally is less steps than working out how to get from the confluence page you just googled to your actual confluence instance. Atlassian, I am literally signed in, I don't want to buy your horrible product again, just take me to what I care about.
- alexliu518 2y agoDocmost is an impressive open-source initiative that reflects a year of dedicated effort. It's a promising tool for anyone looking for a collaborative documentation platform. Great work to the developer!
- Pi9h 2y agoI am glad you see the value in it. I appreciate your kind words. Thank you.
- j45 2y agoCongrats on your launch. Knowledge management is a special area. Look forward to seeing this grow. As a heavy user of both Confluence and Notion, and in the interest in seeing alternatives like this grow: Is there any plan to make this tool local/offline-first and mobile-first? There's a big need in this feature, and something that's best baked into the bread early. It's a big gap of Notion and ultimately why I had to ditch it. Confluence has some ways to at least cache enough of it, or use a plugin. Confluence is also massive, lots of features (including workflows and approvals).. it might be worth clarifying which ones you're covering and planning to cover.
- DANmode 2y agoWhat are you using in place of Notion today, that's more mobile friendly? Thanks!
- j45 2y agoNotion is excellent at collaboration, and works so so on mobile the last time I used it. Mostly if you didn't open all the pages you wante before taking off on a flight (imagine no wifi), things fall apart. On to the option -- currently been giving Anytype a pretty hard go on the colalboration side, as well as playing with Obsidian to see if it can feed into it. https://anytype.io/ https://anytype.io/
- j45 2y agoDownvotes are fine, comments are even better.
- Pi9h 2y agoTbh, I have no plans of making it local/offline-first, as that will be a different ball game entirely. Mobile-first? If you are referring to mobile apps, it will probably come in the future. For now, it’s just me building. I am focusing more on building the core features of a wiki. Thank you for your positive words. I appreciate it.
- adhamsalama 2y ago
- Atotalnoob 2y agoCongrats on your launch! This is something I’m going to keep a close eye on. My company is using confluence and I hate how slow confluence is. Your marketing site, the menu doesn’t close when clicking on an item on mobile Firefox on IOS
- Pi9h 2y agoFixed. Thanks for pointing out.
- digi59404 2y agoCongrats on this - It looks really good. We’ve been evaluating documentation tooling for our company. We’re in a weird regulatory environment where the documentation is created by someone else, but reviewed and approved by another person. I bring this up because a feature that could set you apart from others is the concept of a “merge request” for documentation. Where someone can make a document, another can modify it and submit changes for review. GitBook has this but it lacks in some other key ways for us.
- bjartek 2y agoThis would indeed be nice to have.
- salamander014 2y agoI’ve also always wanted this, but what I’ve realized after noodling on it a while is I’d really just prefer a way to use git, and push markdown documents to the Notes System. I dont want a different system handling edits reviews and merges. I just want CD to send my docs from git to a system that can properly host / give me the Doc-related features I need.
- j45 2y agoIf this could co-exist in the backend with an easy to use browser interface for the many who write text more than markdown, would be amazing. Being markdown centric would be great. Makes this tool a great destination for so much markdown content already existing.
- rubslopes 2y ago> I just want CD to send my docs from git to a system that can properly host / give me the Doc-related features I need. Material for Mkdocs does exactly this. https://squidfunk.github.io/mkdocs-material/ https://squidfunk.github.io/mkdocs-material/
- xmprt 2y agoCurious what other features you need where merge requests for documentation is the primary requirement but Git (or some other VCS) isn't sufficient?
- mkl 2y agoThis looks neat. Is there an online demo? I looked but couldn't see one (on mobile). On docmost.com, pinch to zoom is disabled when viewing screenshots (Firefox Android).
- Pi9h 2y agoI have fixed the zooming issue. Please try now. Unfortunately, there is no public demo yet. If you email me (in bio), I can create a demo for you.
- mkl 2y agoCan confirm zooming issue is fixed. I got it running in Docker. I had to run "docker-compose up -d" rather than the instructions' "docker compose up -d" (no dash), which just gave a confusing error message about not knowing "-d". It looks great! I got confused at first between Workspaces and Spaces. It seems that Workspaces contain Spaces which contain Pages? I like that, but the names seem too similar. I noticed the page title doesn't update on some locations. E.g. I go into a page, the title updates, but then when I leave the note the title remains. Similarly the "Login" title persisted after I'd logged in. It took me a minute to figure out how to access it from other computers on my local network, and the problem was I left the APP_URL as localhost. Confusingly, that partly worked, so it might be worth putting in a warning about it. With APP_URL set to localhost, if on another computer on the same network I go to <ip address>:3000, it redirects to <ip address>:3000/home, so something is connecting, but then nothing loads and it's just a blank screen (there's an error message in the browser console about failing to load resources from "localhost"). How and where are pages stored? I would love to use this, but need robust backup/restore. Edit: It would be great if going to a page URL when not logged in would redirect to that page after login. Edit 2: "Copy link" doesn't work? It pops up a message saying "Link copied" but it's not in the clipboard.
- Pi9h 2y ago1. You were using an older docker compose version, I guess? Newer versions recommend `docker compose` without the dash. 2. Your understanding of the hierarchy is correct. Workspace -> Space -> Page. I admit, the naming is similar and can be confusing. I just couldn't come up with a conclusive alternative while self-debating it. Do you have better suggestions? 3. I will look into the title issue. Thanks for pointing out. 4. I will put the APP_URL thing in mind too. 5. The pages are stored in the pages table. The content is stored in 3 formats, i. Prosemirror Json (default editor state). ii. Yjs state (real-time collaboration). iii. raw Text (for search indexing). The affected tables are json_content, ydoc and text_content 5. I will look into the redirect issue, and "Copy link" bug. I appreciate your feedback and thank you for trying it out.
- memset 2y agoThis is really cool! My big problem with most document software is: 1. Everything is locked in. I want to be able to easily export or back up my notes. 2. The pricing is so nickel and dimey. Have more than 100 nodes in the document tree? Upgrade your tier. Adding new people to projects is a buying decision every time and it’s fatiguing. Can you tell us more about how it uses pg and redis?
- Pi9h 2y agoPostgres is the primary database for storing all workspace and user-related data. Redis is used for queues, collaborative editor state sync across servers, and WebSocket sync across servers. The last two functions are important when running the software on multiple nodes or replicas.
- 911e 2y agoNice! What was the thought process for AGPL instead of something else ?
- dijit 2y agoAGPL is excellent for promoting the spirit of open source in this new world of web services (that are largely proprietary and SaaS). AGPL is useful also for preventing commercial improvements that don't make it back into the general product.
- RadiozRadioz 2y agoIt's a Free Software license, not an Open Source license.
- jraph 2y agoDefinitely open source too: https://opensource.org/license/agpl-v3 https://opensource.org/license/agpl-v3 All free software licenses are open source licenses.
- RadiozRadioz 2y agoIndeed, it happens that a subset of the freedoms ensured by the AGPL align with what the OSI wants, but that is not why the license exists. They are completely different movements. The original comment was: > AGPL is excellent for promoting the spirit of open source This statement is not about the practical compatibility of the license, this is a statement about what the license stands for. The license categorically does not stand for Open Source.
- jraph 2y agoOK, we agree on this, and the statement would probably be better phrased "AGPL is excellent for promoting the free software spirit".
- dghlsakjg 2y agoI’m always curious what something like this does that git, markdown, and a good text editor can’t. Going with existing open tooling has the added benefit of being completely portable. I will admit that it would be very cool to see a client that abstracted got and markdown away for non-technical users. I feel like obsidian with some more git polish could get it done.
- deleted 2y ago[deleted]
- cma 2y ago> that git, markdown, and a good text editor can’t. Probably runs on phones better.
- dghlsakjg 2y agoVscode can open, edit and commit to any repo from the browser.
- chrisdbanks 2y agoMakes it accessible to non-devs. Markdown may seem simple to you, but too many people it isn't. Got and it's concepts are beyond many people.
- dghlsakjg 2y agoThe point is that you can create a rich text editor that stores the data as markdown. Note how I said that git and markdown could be abstracted away, as in hidden from the user who can’t be bothered to learn. Use them under the hood, so at the end of the day your entire wiki is just a repo.
- jraph 2y ago> The point is that you can create a rich text editor that stores the data as markdown. Both Nextcloud and XWiki do this. Now, why not git+markdown? I'm not sure it exists so we can't really know if it can work well or not. I have my doubts: About Markdown: I believe it is fine for very basic content, but you will probably want something more powerful to cover more advanced needs. HTML will be too low level for this, so you will probably need something to extend Markdown with custom macros, at which point you may as well adopt something that already exists. For git: wikis tend to have versioning per document, not of the whole stuff. You will want to have easy and efficient document history manipulation (access of old revisions, comparison between revision, rollback). And you may want the wiki to remain efficient with a large number of documents and revisions, even when multiple people are writing to the wiki at the same time, and the git repository might be a bottleneck. For a single user with simple note taking needs, I believe git+markdown can have good characteristics. I'm not sold on the git+markdown thing for a multi user wiki. It would need to be proven, but should someone do this, they should not solve "How do I write wiki software based on git+markdown", the problem should be "I need to have a wiki that's efficient in such and such cases, and git+markdown is a good basis because [...]".
- zersiax 2y agoAccessibility in both Notion and Confluence is absolutely abysmal. Any chance you have thought about this while working on Docmost so far? This is a pretty important thing for companies to adopt this, with ADA in the US and the upcoming EAA within the EU. Also it'd be nice to have a product that actually did their homework where this is concerned for once :) Let me know if you want me to give it a once-over. DIsclaimer: native screen reader user, blind person, developer, accessibility auditor and all that jazz.
- replwoacause 2y agoHow important could this be to companies really, if they are using Confluence and Notion, which are already doing this poorly.
- jasonjayr 2y agoI understand that in the US, the ADA can make for a nasty sting which can make them care in a hurry.
- hnthrowaway121 2y agoDepends on the company. In many areas companies are required to not discriminate against disabled employees. Just like your physical space must be accessible, your digital tools must be too. Otherwise you would might, say, pass on a more experienced and knowledgeable blind candidate in favor of a less qualified sighted person, because your internal tools can’t be used independently by a blind person. Lots of companies are technically exposed to the risks related to this kind of thing, could be legitimately sued. But they don’t always recognize this aspect of their exposure. It seems natural to me that this sort of thing will become more important over time. More interesting to me though is what prompted your question. Parent requested making things accessible because that’s something as individual they need and benefit from. It wasn’t about how important it might be to “companies”. Individual people need accessibility.
- elliotec 2y agoAlso auth. I would rather just lose all my shit than try to go through the login rigamarole on either of these sites again.
- zmmmmm 2y agoAny support for diagrams? I use PlantUML extensively and tools like Znai and others have native support for it.
- j45 2y agoDiagrams are hugely valuable. Even being able to embed something like diagrams.net right into the page via plugin for the time being (and save the resulting file in the system) would be great.
- Pi9h 2y agoNo diagrams yet, but I have plans of integrating Mermaidjs. I will have a look at PlantUML.
- samspenc 2y agoVery cool, looks like React frontend and NestJS backend, so Typescript / Javascript for both. Curious why you chose NestJS over other options?
- Pi9h 2y agoI mostly used Java, Python, and PHP in my previous projects. On this particular project, I had to learn Node.js. NestJS was a good choice due to my Java Spring experience. I chose Node mainly because of Yjs, which powers the real-time collaborative editing.
- dboreham 2y agoHmm. Last time I tried yjs it wasn't suitable for production. Ok for a quick demo only. Buy that was a few years ago so presumably those issues have been resolved.
- Pi9h 2y agoYjs is a lot more stable now and production ready. Docmost uses Hocuspocus (by Tiptap) as the websocket backend for Yjs (https://tiptap.dev/docs/hocuspocus/introduction https://tiptap.dev/docs/hocuspocus/introduction).
- debacle 2y agoTaiga is awesome, and gets you 95% of the way there. Great piece of software.
- mkl 2y agoThat looks like it has quite a different purpose.
- Brajeshwar 2y agoDo you have plans for a SaaS version too? Note: Outline is another Open-Source Documentation/Wiki and Collaboration tooling option I like. https://www.getoutline.com https://www.getoutline.com https://github.com/outline https://github.com/outline
- Pi9h 2y agoI have future plans for a cloud version. For now, my focus now is on building a solid software. Outline is a great software, I have tried it.
- deleted 2y ago[deleted]
- pkz 2y agoThat sounds great. Outline only has SSO in the per-user paid version. If you decide on providing additional functionality in a non-free "enterprise" version, please don't use the per usermonth model for people running it on prem.
- tommoor 2y agoOutline has SSO in all editions, not just paid
- sgarland 2y agoHi, OP. First, congratulations on launching a product, and thank you for giving it strong copyleft! I ran it as directed, and it's pretty slick. I have some detailed comments on the database side of things that I hope you'll take seriously before trying to scale this. I've ran a distributed Postgres DB at scale for a well-known company that used `yjs` for precisely the same thing you're doing here, so I have some real-world experience with this. You do not want to run this in Postgres, or any RDBMS for that matter. I promise you. Here [0] is `y-sweet` [1] discussing (at a shallow level) why persisting the actual content in an RDBMS isn't great. At $COMPANY, we ran Postgres on massive EC2s with native NVMe drives for storage, and they still struggled with this stuff (albeit with the rest of the app also using them). Use an object store, use an LSM-tree solution like MyRocks [2], just don't use an RDBMS, and especially not Postgres. It is uniquely bad at this. I'll explain. Let's say I'm storing RFC2324 [3]. In TXT format, this is just shy of 20 KB. Even if it's 1/5th that size, it doesn't matter for the purposes of this discussion. As you may or may not know, Postgres uses something called TOAST [4] for storing large amounts of data (by default, any time a tuple hits 2 KB). This is great, except there's an overhead to de-TOAST things. This overhead can add up on retrievals. Then there's WAL amplification. Postgres doesn't really do an `UPDATE`, it does a `DELETE` + `INSERT`. Even worse, it has to write entire pages (8 KB) [5], not just the changed content (there are circumstances in which this isn't true, but assume it is in general). Here's a view of `pg_stat_wal`, after I've been playing with it: docmost=# SELECT wal_fpi, wal_bytes FROM pg_stat_wal: wal_fpi | wal_bytes ---------+----------- 1641 | 11537465 (1 row) Now I'll change a single byte in the aforementioned RFC, and run that again: docmost=# SELECT wal_fpi, wal_bytes FROM pg_stat_wal; wal_fpi | wal_bytes ---------+----------- 1654 | 11656052 (1 row) That is nearly 120 KB of WAL written to change one byte. This is of course dependent upon the size of the document being edited, but it's always going to be bad. Now let's look at the search query [6], which I've reproduced (mostly; I left out creator_id and the ORDER BY) here: docmost=# EXPLAIN(ANALYZE, BUFFERS, COSTS) SELECT id, title, icon, parent_page_id, slug_id, creator_id, created_at, updated_at, ts_headline('english', text_content, to_tsquery('english', 'method'), 'MinWords=9, MaxWords=10, MaxFragments=10') FROM pages WHERE space_id = '01906698-1b7c-712b-8d4f-935930b03318' AND tsv @@ to_tsquery('english', 'method'); QUERY PLAN ---------------------------------------------------------------------------------------------------------- Seq Scan on pages (cost=0.00..12.95 rows=1 width=192) (actual time=13.473..48.684 rows=3 loops=1) Filter: ((tsv @@ '''method'''::tsquery) AND (space_id = '01906698-1b7c-712b-8d4f-935930b03318'::uuid)) Rows Removed by Filter: 3 Buffers: shared hit=32 Planning: Buffers: shared hit=1 Planning Time: 0.261 ms Execution Time: 48.717 ms ~50 msec to do a relatively simple SELECT with no JOINs isn't great, and it's from the use of `ts_headline`. Unfortunately, it has to parse the original document, not just the tsvector summary to produce results. If I remove that function from the query, it plummets to sub-msec times, as I would expect. It doesn't get better if I forcibly disable sequential scans to get it to favor the GIN index on `tsv` (unsurprising, given the small dataset): QUERY PLAN ---------------------------------------------------------------------------------------------------------- Bitmap Heap Scan on public.pages (cost=106.29..110.56 rows=1 width=192) (actual time=17.983..51.424 rows=3 loops=1) Recheck Cond: (pages.tsv @@ '''method'''::tsquery) Filter: (pages.space_id = '01906698-1b7c-712b-8d4f-935930b03318'::uuid) Heap Blocks: exact=1 Buffers: shared hit=41 -> Bitmap Index Scan on pages_tsv_idx (cost=0.00..106.29 rows=1 width=0) (actual time=1.231..1.231 rows=7 loops=1) Index Cond: (pages.tsv @@ '''method'''::tsquery) Buffers: shared hit=25 Planning: Buffers: shared hit=1 Planning Time: 0.343 ms Execution Time: 51.647 ms And speaking of GIN indices, while they're great for this, they also need regular maintenance, else you risk massive slowdowns [7]. This was after having inserted a few large-ish documents similar to the RFC, and creating a few short pages organically. docmost=# SELECT * FROM pgstatginindex('pages_tsv_idx'); version | pending_pages | pending_tuples ---------+---------------+---------------- 2 | 23 | 26 Let's force an early cleanup: docmost=# EXPLAIN (ANALYZE, BUFFERS, COSTS) SELECT gin_clean_pending_list('pages_tsv_idx'::regclass); QUERY PLAN -------------------------------------------------------------------------------------- Result (cost=0.00..0.01 rows=1 width=8) (actual time=16.574..16.577 rows=1 loops=1) Buffers: shared hit=4659 dirtied=47 written=22 Planning Time: 0.322 ms Execution Time: 16.776 ms 17 msec doesn't sound like a lot, but bear in mind this was only hitting 4659 pages, or 37 MB. It can get worse. You should also take a look at the DB config if you're to keep using it, starting with `shared_buffers`, since it's currently at the default value of 128 MB. That is not going to work well for anyone trying to use this for real work. You should also optimize your column ordering. EDB has a great writeup [8] on why this matters. Finally, I would like to commend you for using UUIDv7. While ideally I'd love (as someone who works with DBs) to see integers or natural keys, at least these are k-sortable. Oh, and foreign keys – thank you! They're so often eschewed in favor of "we'll handle it in the app", but they can absolutely save your data from getting borked. [0]: https://digest.browsertech.com/archive/browsertech-digest-figma-is-a-file-editor/ https://digest.browsertech.com/archive/browsertech-digest-fi... [1]: https://github.com/jamsocket/y-sweet https://github.com/jamsocket/y-sweet [2]: http://myrocks.io http://myrocks.io [3]: https://www.rfc-editor.org/rfc/rfc2324.txt https://www.rfc-editor.org/rfc/rfc2324.txt [4]: https://www.postgresql.org/docs/current/storage-toast.html https://www.postgresql.org/docs/current/storage-toast.html [5]: https://wiki.postgresql.org/wiki/Full_page_writes https://wiki.postgresql.org/wiki/Full_page_writes [6]: https://github.com/docmost/docmost/blob/main/apps/server/src/core/search/search.service.ts#L27-L52 https://github.com/docmost/docmost/blob/main/apps/server/src... [7]: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/4725#note_596146675 https://gitlab.com/gitlab-com/gl-infra/production/-/issues/4... [8]: https://www.enterprisedb.com/blog/rocks-and-sand https://www.enterprisedb.com/blog/rocks-and-sand
- handfuloflight 2y agoIs there a full demo available anywhere?
- number6 2y agoLooks great I am thinking of deploying it. A killer feature would be a staging and approval process. Most systems lack this functionality
- swaptr 2y agoHi! Congratulations on the launch; the product looks fantastic. Are you experiencing any slowdowns with a paid service like Tiptap? Last I checked, some of the most basic and popular features were behind a paywall. Have you considered using an alternative like Lexical editor?
- Pi9h 2y agoWhile some Tiptap Pro extensions would have made things a little easier, I appreciate that the core and majority of the extensions are open source. It has the building blocks to create custom extensions without limits. Docmost does not depend on any Pro Tiptap extensions. The team at Tiptap are doing something really amazing. I believe it is fair that they find avenues to make revenue from it. I like Lexical, but I found Tiptap first and loved it.
- deleted 2y ago[deleted]
- ericHosick 2y agoWill you be implementing synced blocks?
- Pi9h 2y agoSynced blocks are interesting. It might come in the future.
- utku-0 2y agoGood luck, looks great!
- alanmoore2850 2y agoThis looks very interesting! I like the focus on UI (many open source projects missing this aspect)
- Pi9h 2y agoThank you. It was my first time doing react things. The great Mantine UI (https://mantine.dev/ https://mantine.dev/) react library helped a lot.
- href 2y agoWe are still using Confluence on-prem (behind VPN). To switch, we need the following: - An export function (PDFs). - An integrated diagram editor like Gliffy. - History / diffs. Outline is the closest to this so far, but we are in no rush, so we'll watch the development of this as well. Thanks for sharing!
- jraph 2y agoHi! I'm working at XWiki SAS [1] on tools to migrate from Confluence to XWiki [2], an open source and powerful wiki software that was born at about the same time as Confluence. We have all this. We offer support and consulting, including for handling your migration. Our migration tools try to keep as much of the content and its feature as possible, and we work on compatibility macros for this. Feel free to reach us, or me. [1] https://xwiki.com https://xwiki.com [2] http://xwiki.org http://xwiki.org
- Terretta 2y agoComprehensive site! Noticed this example from your store embeds French flavor for me: https://store.xwiki.com/xwiki/bin/view/Extension/Office365Integration https://store.xwiki.com/xwiki/bin/view/Extension/Office365In...
- jraph 2y agoVery possible, most of us are French and Romanian :-)
- eastbound 2y agoPlease, get a designer and redesign that logo in a more trendy way. That logo may have hurt your chances since 2008.
- Pi9h 2y ago1. PDF export will come. 2. Diagrams will come too. MermaidJs is next on the line. Other diagram providers like Draw.io and Excalidraw will come once I figure out an efficient way to handle storing and retrieving their raw data. 3. There is support for page history. No diff comparison yet though.
- BSt3ph3n 2y agoThe UI rocks
- tomwphillips 2y agoWho are you aiming this at? Unfortunately I’d never advocate for something like this at my work. Self-hosting doesn’t make sense in terms of total cost of ownership. I’d rather engineers spent time solving problems in our core business than making sure our wiki is online.
- _puk 2y agoThat's a very negative take, and seemingly unfounded. As with a lot of modern open source, the monetisation comes from providing a hosted/ supported cloud version so your engineers can spend their time solving your core business problems rather than making sure the wiki is online. That said, it's a Beta, and they've put 12 months into it already to get it where it is. It's great to have open source competition in this area, so the current lack of a cloud option should put it in the "awesome, I'll check it out, then wait for a cloud option" category.
- devwastaken 2y agoOther engineers can do hosting just fine. Even a middle schooler copy pasting commands. Sounds like a problem somewhere between the keyboard and the chair.
- tomwphillips 2y agoThere’s a lot more to running an application than that.
- jraph 2y agoI disagree with your parent comment but what you present is far from enough to host something reliably.
- jraph 2y agoBeing able to self host means you control your infra, so that's a very good property of the tools you use and should probably be a criterion for choosing what you use, even if you don't use the capability yourself. The ability to self-host increases the chances there's something to migrate your data in and out. The ability to self host also doesn't prevent someone, including the original developers, to also proving hosted services. And since the presented tool is open source, it's also possible for another company to provide hosting.
- zelphirkalt 2y agoThese would be great: - Managing pages in git/other vcs as plain text, using any editor I choose. I can commit pages using git or other vcs, don't have to use the browser to add pages. - Writing pages in some markup language, maybe not markdown, as it is not expressive enough in some areas. Maybe markdown is possible for simple pages and the wiki knows it is markdown from the file extension, but the wiki also allows more powerful formats like restructuredText, which can be extended by the user. - Server-side rendering of pages, that can easily be cached (since pages are files, one could easily check the shasum of the file to determin cache validity), which makes display of pages almost instant, as opposed to laggy shitty confluence.
- mr_mitm 2y agoHave you seen MyST? It's just as expressive as ReST and much easier to write IMHO.
- orthoxerox 2y agoHow did they come up with such a SEO-hostile name?
- mnahkies 2y agoNot quite the same use case, but I've been really enjoying using https://nextra.site/ https://nextra.site/ to create a static documentation site for one of my projects. It's managed to strike a good balance of getting out the way and letting me mostly just write plain markdown, whilst being able to fall back to react components if needed. With CD to GitHub pages on merge to main I think it's a pretty good experience
- FLT8 2y agoWe use Jekyll for this at work, build the site using GitHub actions, and host through GitHub pages. Works a treat. Supports mermaid diagrams, mathml, ...
- pembrook 2y agoWhy would you need a tool like this if you’re writing markdown docs outside the browser and version controlling them with Git? Doesn’t that defeat the entire purpose? Or is it just you want a developer-native workflow to upload docs intended for the rest of the non-developer team? In general, I would say that's a really bad idea. If you’re dumping this self-hosted (and probably bug filled MVP, as all are) on your team, yet never having to deal with the UI layer that everyone else does…it’s a recipe for revolt and tool churn. I’ve seen this mistake a million times from technical founders. Same thing will happen with your marketing website CMS, after you realize static site + markdown + git doesn’t scale to non-dev humans and the headless CMS you picked (but never interact with) is actually trash in daily use.
- 037 2y agoA little feedback: I want to try it (the website makes it look very clear and promising!), but the installation page [1] scared me and I almost left. Then I looked at the first instructions and they were for installing Docker. I know the section is named “Prerequisites,” but I was expecting just the docker-compose and some documentation on vars, given that the only way to install it is with Docker. Even the “Installation Steps” start with mkdir, cd, curl, vi, only to say “use this docker-compose.” The prerequisites can be important for many people, and there are many ways to solve this (if you think it’s a problem). One thing to remember: devs and tech-savvy people skip everything and look directly at the terminal commands/code. It’s the reason you should never insert the “don’ts” in your repository readme too high on the page: they will be the first things we’ll cut and paste :D This is not a criticism; it seems you did a wonderful job. Just the feedback of one of many dummy experimenters that you might lose on that page :) 1. https://docmost.com/docs/installation https://docmost.com/docs/installation
- Lucasoato 2y agoI would remove the instructions to install docker: people can see them in the docker documentation, it doesn’t make sense to include them somewhere else. Also I would use a .env file to manage the env variables, without requiring the user to modify the docker compose file. It’s very likely that people will version the yaml file, so it’s not a good idea to keep secrets in plaintext there. https://docs.docker.com/compose/environment-variables/set-environment-variables/ https://docs.docker.com/compose/environment-variables/set-en...
- TuringTest 2y agoI would not remove them, but place them elsewhere, linked from the point you should run them at the install process. It's very useful to have a complete 'getting started' page that get you from zero to working, without assuming that the reader understands what every intermediate step means. But as you said, the parts that are dependencies for other products can be encapsulated so that savvy users can skip them easily.
- 2y ago
- v3ss0n 2y agoHave you checked SiYaun and Affine?
- Pi9h 2y agoYes, I have. I have tried the Affine demo, but not SiYuan. I think they are both great and promising.
- stock_toaster 2y agoFeatures I would like to see: * markdown support (for writing/formatting) * mermaid support (for diagrams)
- jraph 2y agoHi, As said in other comments, I work on XWiki. We support Markdown [1] to write documents, among other syntaxes (including (X)HTML), although it's way more limited than our own syntax. For Mermaid, apparently there are initiatives to integrate it, but nothing finished [2, 3] I guess. [1] https://extensions.xwiki.org/xwiki/bin/view/Extension/MarkdownSyntax/Markdown%20Syntax%201.2 https://extensions.xwiki.org/xwiki/bin/view/Extension/Markdo... [2] https://github.com/jingkaimori/xwiki-mermaid https://github.com/jingkaimori/xwiki-mermaid [3] https://dev.xwiki.org/xwiki/bin/view/GoogleSummerOfCode/MermaidIntegration2021 https://dev.xwiki.org/xwiki/bin/view/GoogleSummerOfCode/Merm...
- Corrado 2y agoJust to add a detail, I would also like Markdown support when editing a page. Technically Confluence supports Markdown (or at least it used to) but after you saved the page it converted the content to it's own internal format and the Markdown was gone. I would also like to be able to update a page through the API. Again, Confluence "technically" supports page editing through the API but it's so cumbersome that it's basically useless. The reason for this request is that we use our wiki to document certain activities (monthly security checks, AWS spend, etc.) and I have to manually update Confluence. It would be so much better if I could write a little Ruby (or Bash, etc.) to add content to a table in a page.
- Pi9h 2y ago1. You can use Markdown shortcuts. 2. Collaborative editing makes updating content outside the editor tricky. It will work, but not very well. I will consider supporting content updates via the API in a future release.
- Pi9h 2y ago1. You can use markdown shortcuts on the editor. It works. 2. Mermaid support is coming.
- jraph 2y agoHi! I work on XWiki [1]. Nice to see fellows building open source alternatives, we can't have enough of this. I hope you succeed. It takes a lot and lot of work to build something comparable to Confluence. XWiki has been there since the beginning. How do you position yourself compared to XWiki? What made you decide not to join the forces? [1] https://xwiki.org https://xwiki.org
- Scramblejams 2y agoI would love to migrate off Confluence to something open. I tried XWiki but the user experience seemed comparatively rough. Do you have a set of extensions you’d recommend to make it more palatable to those who want a Confluence-like experience?
- jraph 2y agoBoth Confluence and XWiki are huge and your experience is subjective, so it really depends on which parts you'd want to see improved. General improvement should not be made through extensions, it should really be done directly in the product. Quite some customers have pushed for improvements over the last months, for instance we now have page ordering in the navigation panel as a core feature thanks to their valuable feedback. So don't hesitate to share your feedback on the project [1] (generic feedback is interesting to read but specific stuff is more easily addressed), read previous feedback [2], ask questions on the forum [3], chat with us on our community chat [4] or even report bugs [5]. See also the roadmap to see if something important to you is already scheduled [6]. If you have money to spend, also know that XWiki SAS [7] offers consulting and support and we address customer concerns. We also sell "Pro" extensions (with free trial) that cover some features that are expected by Confluence users, among other things [8] (while we sell these features, it's not open core. It's still (truly) open source: you can get the code under LGPL and all). [1] https://www.xwiki.org/xwiki/bin/view/Survey/ProductFeedback https://www.xwiki.org/xwiki/bin/view/Survey/ProductFeedback [2] https://www.xwiki.org/xwiki/bin/view/Main/Feedback/DownloadFormFeedback/ https://www.xwiki.org/xwiki/bin/view/Main/Feedback/DownloadF... [3] https://forum.xwiki.org/ https://forum.xwiki.org/ [4] https://dev.xwiki.org/xwiki/bin/view/Community/Chat https://dev.xwiki.org/xwiki/bin/view/Community/Chat [5] https://jira.xwiki.org/ https://jira.xwiki.org/ [6] https://www.xwiki.org/xwiki/bin/view/Roadmaps/ https://www.xwiki.org/xwiki/bin/view/Roadmaps/ [7] https://xwiki.org/ https://xwiki.org/ [8] https://store.xwiki.com/ https://store.xwiki.com/
- kkfx 2y agoNice! Did you consider Nix/Guix instead of docker as a suggested way to deploy? Docker is a harmful and very common tool, witch lead to a gazillion of wasted resources and security nightmare due to pulling anything from unknown sources and put it in production. Aside, similarly, MarkDown is popular but it's really a crappy set of markups that fails in the most useful productivity aspect: outlining. Org-mode is less known being tied to Emacs but it's far, far more featuresfull and immediate to use. Beside that's I wish the best luck to all devs, there are gazillion of webapps all suffering the modern stack issue: inability to integrate anything, so the need to recreate the wheel everytime and incorporate a feature at a time to the point of being monsters, but your sauce so far seems to be the most polished I've seen.
- Pi9h 2y agoThe software itself is very easy to install, even without Docker. You are set with just three commands: pnpm install, pnpm build and pnpm start. Docker is not a hard dependency but it was the easiest way to document it and hope it works for everyone, given the Postgres and Redis requirements. With time, I will create documentation for other platforms. Thank you.
- MaxBarraclough 2y agoLooks very promising, congratulations on your progress so far. Do you have plans to offer a hosted/managed/SaaS service? As others have pointed out, not everyone wants to self-host, and offering a managed service doesn't diminish the advantages of it being Free and Open Source (assuming good data export/import features). For comparison, the SourceHut project offers a managed service, which is well-run, well-liked, and brings them good revenue. I consider NextCloud to be an example of what not to do. There are plenty of NextCloud providers, but (from what I can tell) none of them are closely tied to the development of NextCloud itself. Bug-reports to service-providers can be expected to be met with that's a NextCloud bug, not our problem.
- Pi9h 2y agoI have plans for a cloud-hosted version. It will come in the future.
- denysvitali 2y agoVery cool project! Is there a way to sponsor it? I also noticed that the documentation is using Docusaurus - it would be awesome to use Docmost for it, so that you have both a demo environment (at least R/O) and do dogfooding
- noisy_boy 2y agoAny tools available to import from Obsidian? It has a big user base so if you provide import from it, it will provide a quick way to extensively check feature coverage - nothing convinces like using with real world data.
- Pi9h 2y agoSince Obsidian is Markdown, it should be pretty straightforward to write an import program for it. When I start working on the import feature, this will be possible.
- chaz6 2y agoSingle sign-on support is essential for me. If this was compatible with Keycloak/OIDC it would solve a lot of problems. I will be keeping a close eye on this project.
- tommoor 2y agoCheckout www.getoutline.com - it includes full SSO support and generally much more functionality than here with it being in development 5y
- Pi9h 2y agoI have plans for OIDC integration.
- clcaev 2y agoPlease make it trivial to use a designated "remote user" header so upstream reverse proxy could handle auth.
- mirzap 2y agoThis looks really good. I hope you keep building. I will definitely check it out.
- AndyMcConachie 2y agoHave you considered instead writing a plugin for Mediawiki that accomplishes 90% of what you want for 1% of the effort?
- xpe 2y ago> Have you considered instead writing a plugin for Mediawiki that accomplishes 90% of what you want for 1% of the effort? My current take: no matter how you slice it, the above comment strikes me as a leading question that is way off target. Tell me if I'm wrong. 1. MediaWiki plugins? Never heard of them. Do you mean MediaWiki extensions? https://www.mediawiki.org/wiki/Category:Extensions https://www.mediawiki.org/wiki/Category:Extensions 2. Are you suggesting that MediaWiki is relatively close to Confluence or Notion? In some way? What way? I predict that the development effort required to adapt MediaWiki to a Notion-type product would be at least hundreds of thousands of dollars. To put it bluntly: foolish and a waste of money. Am I missing something? Tell me. To better explain my point of view: Notion is a single-page application built (probably) with JavaScript or TypeScript. MediaWiki is rooted in a server-side, old-school web application style. It perhaps may have evolved some, but it has relatively little JS in comparison. P.S. I realize this comment sounds grumpy. I suppose I find it rather silly and maybe even presumptive to read a comment like the one above. It is a leading question suggesting an incredible (as in unbelievable) claim. It suggests that Docmost is somehow missing a path forward requiring only 1% of the effort. Ok, that sounds appealing. If true. But its suggestion is just bonkers... MediaWiki as a jumping off point?. WAT? I have no relationship to Docmost, but I consider myself a bit protective of open-source developers, especially for a useful product with good potential. I recommend they tune out these kinds of comments for their sanity.
- neilv 2y agoI'm a huge fan of wikis, and of particular ways of using them within a company. (But I'm not as big a fan of certain wiki software products that seem guided by enterprise sales to customers who don't seem to understand wikis. :) ) One thing an enterprise product did do passably well, for a big win, was integration of a drawing tool. Not everyone in a company needs that integration, but some users will, and its presence can mean that a super-helpful visual is captured when it otherwise wouldn't.
- gcanyon 2y agohttps://www.tldraw.com/ https://www.tldraw.com/ can be live embedded (in Notion at least, I haven't tried Confluence or others) giving you a very nice shared drawing ability within a wiki that doesn't otherwise support that functionality.
- itissid 2y agoCould you summarize a few nuggets of wisdom about why you like wikis? Specifically, what particular ways of use are the most effective within a company?
- worldmerge 2y agoThis is really cool! Would it be possible in the future to add OAuth authentication via AzureAD (EntraID)?
- benpacker 2y agoHow does it compare to Outline (https://www.getoutline.com/ https://www.getoutline.com/)?
- KaoruAoiShiho 2y agoReally wish a designer would go and help you out, this looks really good except for the rather dated look and feel.
- knutzui 2y agoFeels very Confluence-like to me. Which components look better in Confluence in your eyes?
- pokstad 2y agoThe problem with modern wikis is stale data. No one wants to maintain someone else’s data. I won’t be investing into a new wiki until someone solves this problem.
- jraph 2y agoBig issue indeed, and I think it's more generally documentation. I believe someone needs to be in charge of the documentation and have dedicated time for this. Other issues this person would need to make sure: - keep a good structure - avoid duplicated stuff - avoid orphaned content This can also be partially addressed by adding a mandatory step to update the documentation when performing tasks that require documentation. I believe documentation with some stale stuff is be better than no documentation at all though. Imperfection needs to be tolerated.
- b33j0r 2y agoConfluence is the slowest piece of enterprise software I have ever used besides maybe an XL Jira. “Waiting for Confluence” became a thing at paypal like “my monorepo is downloading all of the dependencies for everything.” Very long coffee breaks, maybe down the street, for documentation from across town to load. We didn’t attempt to update that documentation, so anything better, is better. I’m barely exaggerating