5 ms·
Show HN: One year of bewCloud (a simpler Nextcloud alternative)
It's been over a year since I started working on bewCloud and 11 months since I posted the first Show HN [1].
Many things changed (check the commits [2] or the video updates [3] for more details), we've got one recurring sponsor, and recently the GitHub repo [4] passed 400 stars! We also just launched a new option to buy access to a managed instance.
If you have any suggestions, comments, or recommendations, I'd love to hear about it.
Thank you for your attention and kindness. I really appreciate it!
[1] https://news.ycombinator.com/item?id=39726172 https://news.ycombinator.com/item?id=39726172
[2] https://github.com/bewcloud/bewcloud/commits/main/ https://github.com/bewcloud/bewcloud/commits/main/
[3] https://www.youtube.com/@bewCloud https://www.youtube.com/@bewCloud
[4] https://github.com/bewcloud/bewcloud https://github.com/bewcloud/bewcloud
- heinrich5991 2y agoThe images load very slowly. Perhaps you could downsize them a little? The first one I clicked on was 3283x2015 pixels, way too large for something that occupies maybe a quarter of my screen.
- BrunoBernardino 2y agoThanks for that, what kind of connection are you on? I went for people having a way to see something on big screens, but maybe I can surely make the visible smaller and link to a larger one.
- theandrewbailey 2y agoUse <picture> and <source>. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture https://developer.mozilla.org/en-US/docs/Web/HTML/Element/pi... https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source https://developer.mozilla.org/en-US/docs/Web/HTML/Element/so...
- BrunoBernardino 2y agoThank you, I just pushed that up with the images at 50% by default.
- dingdingdang 2y agoAny and all activity in this domain is appreciated! I used to run Nextcloud for a few companies but.. it's just subpar and like OP rightly states the complexity inherited is out of this world.
- noname120 2y agoNextcloud is horrible, bloated, and slow. But there are just no alternatives unfortunately
- BrunoBernardino 2y agoWhat do you mean? What's missing with bewCloud for you, for example?
- noname120 2y agoFile viewer (PDF, EPUB, MP4, etc.) for a start. Right now it feels more like a barebone filesystem with a GUI than anything else. For photos IMO you shouldn't reinvent the wheel but integrate something such as Immich.
- BrunoBernardino 2y agoThanks! I personally rather download those files and handle them directly in my file system. PDFs, music files, and videos are shown directly in the browser when I click them, so I didn't even consider that as a necessity. Immich is really powerful for Photos, but I don't need all those features and can find what I need with my year/month file structure, though. I'm looking for simplicity, here, which I think there are less options for, if that makes sense.
- dingdingdang 2y agoBy all means prefer native rendering if possible
- rglullis 2y agoI'm yet to figure out why we keep chasing this notion that everything should be on the cloud. StarOffice/LibreOffice was open sourced 25 years ago. It is still maintained and developed to this day. It can run on any operating system you need, and it uses the same data formats that any "cloud solution" will use as well. It can not be a matter of "it doesn't have online multi-writer collaboration tools", because if that was such a killer feature, there would be at least a handful of companies developing plugins to support this - or even developed in the project itself. It can not be a matter of "data always available online", because you could solve this with a virtual online drive that can be browsed and/or synced with your work computer. The funny thing to me is that mobile-first people prefer to have an app for each separate task, while PC-first people would rather have everything inside a browser window.
- 123pie123 2y agoit's a part of the bigger picture of IT architecture How much should things (data/ compute/ infrastructure) be distributed vs centralised There's no definitive answer, but there's trends which change over time or should i say they go around and around Almost like reinventing the circle every few years, because old = bad, new = good
- marsokod 2y ago> It can not be a matter of "data always available online", because you could solve this with a virtual online drive that can be browsed and/or synced with your work computer. That's exactly my reason for using nextcloud and other apps like that though. I want to be able to browse my own files from my phone or any other safe device, and that's what nextcloud offers. It is literally a "virtual online drive that can be browsed and/or synced" with any device, much like bewcloud. I personally use nextcloud because I am using its other features as well, and there is no denying it suffers from being a jack of all trades, master of none, but having your data in the cloud, being able to access you admin paperwork, share data with your relatives or even random people, or manage a calendar amongst several people is a fairly frequent use case.
- rglullis 2y ago
- greggh 2y agoStating that one of the problems with Nextcloud is PHP does not inspire confidence.
- BrunoBernardino 2y agoIf it's not clear, it's a problem "to me". I've worked with PHP for over 10 years but I don't like it as much as TypeScript, Ruby, Rust, Python, or Go, for example.
- prmoustache 2y agoWhy do they keep using the word cloud for these kind of http file and application servers? There is nothing "cloudy" about them. Only the actual managed services could reasonably be called cloud computing when they are hosted in an elastic and scalable infra.
- dewey 2y agoBecause they are your "own cloud" vs. the Big Tech cloud services. The meaning of words change and a person not in tech would never call something "an application server", which is perfectly fine.
- prmoustache 2y agoMost people not in tech don't even know the word cloud in a context related to computing anyway. They know google drive/workspace, Microsoft 365, dropbox, that's it. EDIT: OK not living in the Apple ecosystem I realize I forgot about icloud which at least in term of market shares in the USA is a big thing (but not necessarily everywhere else).
- JadedBlueEyes 2y agoIt's fairly common in the marketing materials of all of the services you mentioned. Many people also know it from when the cloud was a popular buzzword.
- plagiarist 2y agohttps://en.wikipedia.org/wiki/Semantic_change https://en.wikipedia.org/wiki/Semantic_change
- theandrewbailey 2y agoI thought 'the cloud' meant 'someone else's computer', but in light of personal cloud software like this, I might have to change that. 'Some other computer across a network', maybe?
- cess11 2y ago"What's wrong with Nextcloud or ownCloud? To start, their resource footprints (CPU, memory) are huge when idle." I've recently imported something like 2TB into a NextCloud instance on a Debian system. It idles at 0% CPU and 2GB RAM. I would not choose JavaScript over PHP on the server. How are you testing security? Do you have a security background?
- BrunoBernardino 2y agoIt's good you got it to perform in a way you like it, it hasn't been my experience for many years, but I also haven't ran Nextcloud in the last 10 months. I do have a lot of security and cryptography experience, and the TypeScript in the backend is a personal preference, which is improved, in terms of security, by using Deno instead of Node.js, but I mention it and agree it's a preference.
- plagiarist 2y agoI'm curious about encryption with this or any similar service. My understanding with NextCloud is it can be set up with encryption such that the server cannot access the data.
- BrunoBernardino 2y agobewCloud doesn't offer any server-side or end-to-end encryption (only in the HTTPS/SSL sense, and that's from caddy in the recommended docker-compose.yml file). I also created and maintain an open source end-to-end encrypted product, Budget Zen [1], and it's just a different kind of beast. Applying either concept here would be very complicated and complex. To get an idea, Nextcloud offers server-side encryption and end-to-end encryption add-ons (apps), but they often cause issues with data becoming irrecoverable [2] [3] or simply not being compatible with mobile/desktop apps or other plugins/apps. And they have many years, many people, and a lot of money to throw at the problem. [1] https://budgetzen.net https://budgetzen.net [2] https://help.nextcloud.com/t/recover-encrypted-files-after-lost-config-php/73297 https://help.nextcloud.com/t/recover-encrypted-files-after-l... [3] https://help.nextcloud.com/t/all-files-lost-after-encryption/205135 https://help.nextcloud.com/t/all-files-lost-after-encryption...
- dallamaneni 2y agoI like the current approach with focus on plain file sync and sharing. Keep it up! I typically self host with full disk encryption which I trust more than application level encryptions. Guessing that works for most self hosters
- BrunoBernardino 2y agoThanks!
- plagiarist 2y agoThank you for the thoughtful reply! Yeah, it is a very difficult problem, so I always hope there is somebody who will solve it for me. I've been avoiding Nextcloud (because of their suggestion to run a Docker container with access to the Docker socket), so luckily I have not suffered any data loss, but I appreciate being informed of the risks there also. Certainly having a targeted scope like on your other project helps reduce the complexity of the implementation and can turn it from unapproachable to viable.
- noname120 2y agoThe following command from the README.md for the initial setup failed: docker compose run --rm website bash -c "cd /app && make migrate-db" make: *** No rule to make target 'migrate-db'. Stop. Instead I had to run this: docker compose run --rm -it website bash -c "cd /app && deno --allow-read --allow-env --allow-net migrate-db.ts"
- noname120 2y agoAnd then whenever I went on http://localhost:8000/files http://localhost:8000/files I had the following error: An error occurred during route handling or page rendering. With this in the logs: website-1 | 2025-02-21T14:40:01.285Z - [303] GET http://localhost:8000/ website-1 | 2025-02-21T14:40:01.316Z - [200] GET http://localhost:8000/dashboard website-1 | 2025-02-21T14:40:01.465Z - [200] GET http://localhost:8000/styles.css website-1 | An error occurred during route handling or page rendering. website-1 | PermissionDenied: Permission denied (os error 13): mkdir '/app/data-files/e5f69a80-249a-4845-a6d4-2a4911f9e249/.Trash/' website-1 | at async Object.mkdir (ext:deno_fs/30_fs.js:200:3) website-1 | at async getPathEntries (file:///app/lib/data/files.ts:73:9) website-1 | at async getDirectories (file:///app/lib/data/files.ts:13:29) website-1 | at async GET (file:///app/routes/files.tsx:33:29) website-1 | at async handleLogging (file:///app/routes/_middleware.tsx:66:22) website-1 | at async handleContextState (file:///app/routes/_middleware.tsx:60:22) website-1 | at async handleCors (file:///app/routes/_middleware.tsx:25:22) website-1 | at async handler (https://deno.land/x/fresh@1.7.3/src/server/context.ts:295:14) website-1 | at async mapped (ext:deno_http/00_serve.ts:391:18) { website-1 | name: "PermissionDenied", website-1 | code: "EACCES" website-1 | } I tried to chown it, didn't help. I tried other things within the container (docker compose run -it website /bin/sh), see this discussion to see what I tried: https://chatgpt.com/share/67b890cb-0574-800d-a0ac-470e40891717 https://chatgpt.com/share/67b890cb-0574-800d-a0ac-470e408917...
- rafaelgoncalves 2y agoyeah, docker and permissions always a pain. you tried passing --user or through compose? [1]: my-service: image: ubuntu:latest user: ${MY_UID}:${MY_GID} volumes: - /etc/passwd:/etc/passwd:ro - /etc/group:/etc/group:ro [1] https://stackoverflow.com/a/71027261 https://stackoverflow.com/a/71027261 hope this helps/solves
- dallamaneni 2y agoThank you for working on this. As a long term user of Nextcloud, I appreciate alternatives. Nextcloud is a beast with a lot of features but most of the folks I know including me use it mostly for files so projects like these can be useful. Most lightweight alternatives I found use some non standard format to store files instead of leaving it to the filesystem which keeps me away from using those. I am glad bewCloud is not doing that.
- BrunoBernardino 2y agoThanks for the kind words! Yes, indeed I find that keeping a separate state for the filesystem isn't necessary (if you can/want to leverage other great tools for searching, like `find` and `grep`).
- jszymborski 2y agoThis looks great. Another simple alternative to nextcloud is using syncthing with a server as a peer. If you want a web interface, you can point a web file manager like FileGator to the sync'd folder.
- BrunoBernardino 2y agoYes, if you're simply doing files! I explored that as well, but wanted News (RSS reader), Notes, and Photos.
- genewitch 2y agoThere's a bug with photos larger than 24MP regardless of filesize having no previews. There's an issue, you can edit the config to give previews more memory. Just a heads up in case anyone gets the idea that photos on NC "just work"
- jayemar 2y ago> Look no further than bewCloud – an innovative, open-source cloud solution crafted with TypeScript and Deno, using Fresh. This looks interesting and is a space in which I'm definitely interested, but if you're targeting simplicity, I didn't think focusing on the programming tools is the right way to pitch your product.
- BrunoBernardino 2y agoThanks. What would you focus on, instead?
- genewitch 2y agoEase of administration or other comparisons to nextcloud. I run nextcloud in a DC for multiple users. Two use calendars, two use the downloader tool, everyone uses phone backups. I don't use office tools or anything else on NC except "Notes" because it's a markdown editor right there on my own domain. I switched from OwnCloud because more extensions I needed were up to date in NC. I barely touch the VM it runs on, it may even be a container, I forget. Proxmox has a CT for Nextcloud I think, via TKL turnkeylinux.org or so
- mnutt 2y agoLooks interesting, I'm curious how you settled on WebDAV? A decade ago I built a NextCloud alternative backend that also used WebDAV, and I'm not sure it's something I would ever touch again. Lots of clients say they support WebDAV but they all do slightly different things, and if you own the clients then there are probably simpler protocols.
- BrunoBernardino 2y agoReading the specs and lots of reverse-engineering multiple different popular clients. You can see most of it at https://github.com/bewcloud/bewcloud/blob/main/routes/dav.tsx https://github.com/bewcloud/bewcloud/blob/main/routes/dav.ts... The desktop app uses WebDAV for the sync (via rclone) just because it was the simplest and most reliable way, but the listing of directories (to choose sync) and the mobile app use a simple HTTP API.
- bityard 2y ago> Since I'm not into reinventing the wheel, I don't think I'll work on bringing Contacts/CardDav or Calendar/CalDav back into it. I initially ran Nextcloud in order to have a self-hosted Dropbox replacement but the shared calendar and excellent web UI eventually became the killer app for our family. We ended up not really using any other part of Nextcloud. Unfortunately, Nextcloud revamped the calendar UI to the point that it's actively painful to use. There are _lots_ of open-source Dropbox-like solutions for file sharing, but if I could find a good shared calendar solution _with a decent web UI_, then I could ditch Nextcloud from my self-hosted stack.
- BrunoBernardino 2y agoThanks! As I mentioned, while I did have a working web UI, it wasn't full-featured (recurring events couldn't be created with complex settings or anything like that), and since my family and I use the native desktop/mobile calendar clients, it seemed unnecessary, once I got Radicale working for the server part. Do you not have/use the native clients? In any case, you're welcome to check the commit where I left that off [1]. [1] https://github.com/bewcloud/bewcloud/releases/tag/v0.0.1-self-made-carddav-caldav https://github.com/bewcloud/bewcloud/releases/tag/v0.0.1-sel...