Nice, I didn't know you existed, it's great what you have done, but still not at the same level than confluence.
I'm myself too have been working for more than 2 years on an alternative to confluence and haven't reached the same level either, but closer and closer every day
It's not easy unless you begin with that mind-set from day one.
In fact, it gets tricky as you have "location-flagged" functionality depending upon Cloud or Self-hosted.
We did this from scratch @ Documize by making (bold?) choices around deployment/runtime and database schema design for both SaaS and self-hosted "products":
- run the exact same binary (we used Golang)
- share/use the exact same database schema
- data migration process the same for schema changes
- support multi-tenanting: "enterprise" self-hosted also multi-tenanting so different teams/departments internally get different URLs
- use the same "build" process to compile and ship
I know it's not easy, but it's the only viable path form my experience. I ended up doing something similar, but taking our SaaS product and packaging it in a way that it could be run On-Prem. There was a really interesting feedback cycle where we wanted to make the On-Prem and SaaS deployments work as similarly as possible.