Marre de perdre vos factures ou garanties ? π
Je lance Papra : un outil d'archivage minimaliste et libre pour stocker vos documents Γ long terme et les retrouver en un clic ! π§β
Marre de perdre vos factures ou garanties ? π
Je lance Papra : un outil d'archivage minimaliste et libre pour stocker vos documents Γ long terme et les retrouver en un clic ! π§β
Announcement banner with the text "papra.app 1 million docker pull, thank you for the support"
Papra's Docker image has been pulled over 1 million times! π
Thank you all for this symbolic milestone and for trusting Papra to manage your documents π«Ά
#OpenSource #BuildingInPublic #foss
Papra v26.2.0 release announcement: "Papra.app v26.2.0 is out!"
Papra v26.2.0 is out!
- Fancy new tag picker UI from the document lists
- In-app advanced PDFs viewer
- Tag names are now case-insensitive (simpler search)
- Huge reduction of the rootless docker image size
- And many other improvements and bug fixes!
#SelfHosted #Foss #BuildInPublic
Thanks mate!
Papra v26.1.0 release announcement: "Papra.app v26.1.0 is out!"
Papra v26.1.0 π
- New search filter "has:tags" to filter docs with/without tags
- Added Greek and Russian language support
- Reduced production bundle size
- Various improvements and bug fixes
Full changelog: docs.papra.app/changelog/#2...
#OpenSource #Foss #BuildInPublic
I even made a small online demo of the parser here:
search-parser.papra.app
Release announcement banner, with a file icon: "Papra.app, v26.0.0 is out!"
Papra v26.0.0 is out! π
- Advanced search syntax
- Instance administration
- Two-factor authentication (2FA)
- Search speed improvements
- About page with version info
- And more!
#selfhosted #opensource #foss
I really had fun building a full featured AST-based parser for this search query engine π
Should we drop a dedicated open-source project comparing ALL major schema libs? π€
We could test:
β±οΈ Initialization speed
β
Validation speed
β‘ Parsing speed
π¦ Download time (bundle size)
If this gets tractionβ¦ we launch it ππ
Spent some time making proper documentation for Crowlog, my modern "yet-another" logging library for any JS/TS project
-> crowlog.dev
#OpenSource #JavaScript #NPM
ππ
π£ 2 days left for Papra founder discount π£
Get 50% off on all plans for life by subscribing before December 31st
π papra.app
#OpenSource #Sass #BuildInPublic
Papra.app v25.12.0 is out!
Papra version v25.12.0 is out!
Time to docker pull π
Full changelog: https://docs.papra.app/changelog/#25.12.0
#OpenSource #BuildInPublic #SelfHosted
6 years of thinking I can make a better portfolio.
1 year of actually building it.
My new portfolio is LIVE π
Please, don't break anything!
π bruno-simon.com
Few weeks after opening early access, we're thrilled to announce that Papara Cloud is now globally available! π
Available here π https://papra.app
#OpenSource #BuildInPublic #SelfHosted
β
Just published: Papra @papra.app β Organize and secure your documents in one central hub
A document management platform that helps you archive, organize, and search files with email ingestion, tagging capabilities, and powerful search functionality.
Code snippet screenshot : import { createBranchlet } from '@branchlet/core'; const { parse } = createBranchlet(); const template = 'You have {{ count, =0:no items, =1:one item, {count} items }} in your cart.'; parse(template, { count: 0 }); // "You have no items in your cart." parse(template, { count: 1 }); // "You have one item in your cart." parse(template, { count: 5 }); // "You have 5 items in your cart."
Just created Branchlet, a fast and extensible string processor for handling conditional text logic in i18n strings π
github.com/CorentinTh/b...
Provenance section showing a green checkmark with 'Built and signed on GitHub Actions' and links to 'View build summary' and 'Share feedback'
Regarding the recent supply chain attacks on npm, to mitigate on my side I've enabled npm's Trusted Publishing for most of the main packages I'm maintaining
It's really a breeze to not have to rely on and rotate npm tokens in CI π
What would you put on the @valibot.dev v2 wishlist if we skipped Valibot v1.2 and worked on Valibot v2 instead? Here are some ideas I have:
Papra v0.9 is out! π
- Document encryption!
- Stream file uploads (better performance, lower RAM usage)
- Dropped B2 storage driver as B2 is now fully compatible with s3
- Some bug fixes and more!
#selfhosted #opensource #buildinpublic #foss #javascript
Weβre considering dropping support for the armv7 (Raspberry Pi 2 and earlier) Docker image in Papra
So if youβre still using Papra on armv7 devices, weβd like to hear from you π
Papra's discord server: papra.app/discord
Papra v0.8 is out! π
- Refactored webhooks to comply to standard webhooks
- Added a background task processing with CadenceMQ
- Enhanced migration system
- OCR for scanned PDF
- Better error handling & UI improvements
#selfhosted #opensource #buildinpublic #foss #javascript
Thanks, will do if needed π
I was thinking into migrating @papra.app from Modular Form to Tanstack Form, I did well to wait!
Code snippet showing a configuration setup using TypeScript. It imports schema validation libraries (@standard-schema/spec, figue, zod, valibot), defines a custom password schema to ensure it's a string, and then uses defineConfig to configure environment variables for an application (environment, port, and database connection details like host, username, and password). The process.env is used as the environment source, and the final configuration is logged to the console.
I recently migrated my Figue library (full featured app config validation) to be able to use any Standard Schema compliant lib π
It now makes it easier to use any validation lib like @valibot.dev or zod, even mix them or use custom functions π
π«Άβ€οΈ
I think there is a misunderstanding. While Zod v4 Mini is much smaller than Zod v3, the bundle size is still ~80% bigger compared to @valibot.dev. Example:
picture
New video! What is Self-Hosting and Why You Should Care About Privacy
Watch it here: https://youtu.be/ie66UMymq2k
#SelfHosting #Homelab #BeginnerFriendly
Oui mon objectif (après le plaisir de m'amuser à le faire) était de proposer une alternative un peu plus moderne