Hello everyone!
TL;DR:
Journiv is a a beautiful, self-hosted, privacy-first journaling app with mood tracking, daily prompts, and meaningful insights. The mission is simple: your memories should always stay yours. Own them, don’t rent them.
Journiv 0.1.0-beta.4 is now live on GitHub and fully Docker-hostable.
Start owning your thoughts and memories forever and keep them completely private.
The Story Behind Journiv
I got into self-hosting last year and while exploring options journaling solution, I realized there wasn’t a truly modern, self-hosted equivalent to Day One or Apple Journal. Most alternatives were either general note apps or old abandoned projects.
I wanted something focused on journaling with:
- “On This Day” memories
- Prompt-based journaling
- A clean, minimal, distraction-free writing experience
So… I built my own: Journiv, a beautiful (at least I am trying to make it so), self-hosted, privacy-first journaling app with mood tracking, daily prompts, and meaningful insights.
Get Involved
Give Journiv a try, share your feedback and report issues. It means a lot at this stage.
I’ve been running Journiv since Monday and really liking it. I’d really like to see a straightfoward means of exporting/restoring journals, though. The export says coming soon.
One of the reasons I stopped using Memos - which I thought was good - was because the devs were telling users on Discord that there was no need for backups because you should have the skill to manually locate and open up the database and export entries yourself. I think that sort of stuff makes or breaks apps like this in which people put aspects of their lives into.
Thank you for adopting Journiv! Yes the export will be added. I do agree with you that a human accessible export is very important. I am a software engineer who knows how to make docker backups etc etc but I never do it :) I know I can set it be automated but the friction is too high to do it.
Journiv is being built for out of need and to be the solution of owning memory so it long term strategy is at it’s core. I am personally using it for all my memories with my young family so it will be devastating to lose it because of backup friction.
My plan for Journiv is:
- 1 Click export which periodically created a static HTML site with all the entries and media. Zips it and put in local location configured by user. Since journiv run in a docker container the first phase will be putting it but not tied to docker container lifecycle. Second phase will be integration with a network file share where Journiv can automatically dump the export. Once I configure it I want it to just work not fiddle or worry about making backup. If backup fails I get some discord/telegram notification or within Journiv app.
- Flat JSON export with media. HTML static site will allow user to see entries but JSON export is critical so that the entries can also be exported some where else if the need be.
Ljubljana mentioned
Can I just run this on my PC and not have it on a server? I’m running out of raspberry Pis.
You can if you can run docker on it. As of now that is the documented path. It is possible to run it without docker but that need some documentation.
@rockstar1215 this looks cool! Any chance you’re going to build mobile clients?
Yes, mobile clients are coming. I want to have adoption and sustainability before investing time and resources in launching mobile clients. That is the reason why they will come little after. There has been lot of interest and appreciation for the app as you can see in github issues so stay tuned.
I’ll definitely try it out. Keep up the good work
Thank you.
Any way to set this up without docker? Couldnt find anything in the docs
Hello, Thanks for your interest. It is possible but a little work as it will require one to have Python interpreter installed and do few things to run it. Yes, thise instructions are not there. I will add them. Do you have Python installed?
I know how to selfhost stuff, I just dont want to deal with docker
non-docker ways will come later. Stay tuned!
It looks like this is open-source, but not Free Software, since you’re using PolyForm Noncommercial 1.0.0 as your license. Did you consider other licenses like any of the GPL licenses or BSD-2/3 Clause license, Apache-2.0 or any of the others that fit the Free Software classification?
Journiv is source-available but not “Free Software” under the FSF/OSI definition. I chose the PolyForm Noncommercial 1.0.0 license intentionally to keep the code open for personal and educational use which allow hosting for non-commercial while preventing “commercial” redistribution or hosting for commercial gain without permission.
My motivation behind Journiv is to give a solution to self hosted people like me and other a journal first experience on par with any major cloud offering so that they don’t have to mold their usage to a notes app and be unsatisfied and frustrated like me. This license enables everyone in the self hosted community to use Journiv.
I did consider permissive and copyleft licenses (Apache, GPL, BSD, etc.), but sustainability is a major concern for this project. I have already spent hundreds of hours on this over last couple of months and there is so much more to build (take a look at the issues page of github repo). I want to keep development open and transparent while ensuring that commercial entities can’t simply repackage and profit from it.
I see where you’re coming from, and can understand why you decided to prevent commercial repackaging and tivoization. Source-available sounds like it’s proprietary, which I assume it’s not.
Thanks! My main focus right now is simply building the product, the license doesn’t matter much if the product itself isn’t good yet. It’s always easier to move to a less restrictive license later than to go the other way, so this is the approach I’m starting with.
Looks interesting, was AI used in any of this?
Thank you. Yes, as a software engineer, not using AI for tasks where it can significantly accelerate development would be unrealistic. Much of the boilerplate code such as database ORM models, serialization/deserialization logic, and documentation was written with AI assistance, as mentioned in the project’s README. No developer writes such consistent and complete API docs :D. The architecture, UI/UX and harder aspects (see below) are done by me. It took me 2 months of late nights (hundreds of hours so far) and spending every minute outside of job and family on this and without AI would have taken much more. What you see now is the result of many iteration, refining the UI/UX, redesigning the database, and reworking the overall architecture, flighting with CORS configs make video player work on web in flutter etc etc… much of which isn’t visible from the outside.
Not sure I agree with some of the assertion made there but regardless thanks for the reply. I look forward to checking it out.
Thank you.
You sure it’s secure? How are you handling security? Sometimes AI can neglect security
Please read the documentation linked in the ReadMe and you can try out all the security features.
There are docs for auth model, the code around it, the limitation of in-mem tokens, the clear documentation around token handling, the code to support CORS, trusted host middleware, CSP, HSTS, rate limiting. You can read the env.template and configure and try it out. I doubt there are self hosted (vibe coded, ai-assisted or even non vibe coded) existing apps which have these security feature in v0.1 or even later.
Like mentioned in comment and ReadMe the project is written with AI assistance not vibe coded or AI driven development. If you will read the code, look at design and db model you will find the answers you are seeking. Having said that I am always looking to make the project better so if you find anything which can be improved please open a PR.
Thank you.
Does it support VJOURNAL?
No. There are feature requests to add support for imports from various places. If you plan to use the app please open an issue.
Thanks.
Looks good
Thank you.
Looks really nice :)
Thank you.







