Important
Hedera is currently in developement phase. As such, no stable release nor Docker image is available as of now.
You can run a dev build using Docker with this image: bkamelia/hedera:nightly
(Updated every night GMT+1)
Hedera is an open-source web application built with Ktor and Nuxt 3. It is the next iteration of Selfish. Like its predecessor, it is highly inspired by XBackBone.
You can see Hedera like a self-hosted Imgur. You simply take screenshots and host them on your Hedera server.
Note
Hedera is expected to be released soon. It will be shipped as a standalone JAR and a Docker image ready to deploy.
- User accounts
You can create multiple accounts, or let users sign up. Each screenshots uploaded is bound to its user account. - Disk space quota
You can set a disk quota not to exceed; this way you can upload files without worrying about stuffing your disk completely. You can choose to set a custom quota for each user, or allow unlimited storage. - Files visibility
Uploaded a screenshot you would like to keep private? No problem, just change this one's visibility and you're done. Other files will get the default visibility you set. - Custom links
Want to send your favorite meme but can't remember the random gigberish link? Set a custom link to type it directly. - Advanced filters
A while back, you uploaded a file you're struggling to find again? Just set a bunch of filters to refine your search. - Third-party software integrations
Use third-party applications to take screenshots and upload them directly to Hedera.
Supported: ShareX, uPic, Apple Shortcut (Coming soon)
And a lot more to come later... Stay tuned 👀
Coming soon
Coming soon
Coming soon
Building the front-end is pretty straightforward. You just need to run the dedicated Gradle tasks. This tasks install Node.js, sets everything up through pNPM and builds the front-end.
gradle client:build
Building the back-end is also very easy. Simply run the default Gradle build task. This task will compile the back-end and run the tests.
gradle server:build
To build a complete production-ready JAR, run the package task. This tasks bundles the front-end, and compiles the JAR using the shadow plugin.
gradle assemble
- Kotlin : A statically typed, modern, cross-platform, open-source programming language.
- Ktor : Kotlin backend microservices library.
- Exposed : Kotlin database ORM library.
- Nuxt 3 : JavaScript frontend framework for making performant web applications, based on Vue 3.
- VueUse : A set of useful Vue 3 Composable functions and components.
- Primevue : A collection of rich UI components for Vue 3.
- Gradle : A build tool for Java and Kotlin.
- Docker : A platform for developers to build, ship, and run software.
- Docker Compose : A tool for defining and running multi-container applications.
- Node.js : A JavaScript runtime built on Chrome's V8 JavaScript engine.
- Vite : A JavaScript build tool for modern web development.
- Gradle Node plugin : Gradle plugin for Node.js.
Special thanks to Ghozy Muhtarom for his work on the illustrations used throughout the application.