50 points | by BrunoBernardino1 天前
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.
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"
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-470e408917...
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/71027261hope this helps/solves
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.
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.
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-sel...
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.
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
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.
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.
How much data do you have? Why not simply replicate this data between your devices?
My "office documents" are ~4.8GB, according to the file browser. I simply just have it on Syncthing and copy everything to phone/laptop/workstation/NAS.
The thing is, I don't know what I will need at a given time so I cannot just have a subset synced. Like when some friends I am visiting abroad wanted to have pictures of my house, or of an event we did with our children, now I can browse through them live.
In the old days, the browser was a way to get apps/services to users in way where dealing with Microsoft was reduced to the least possible. Microsoft knew this, that's why it kept IE6 broken for so long.
These days, it's a way to get apps/services to users without dealing with app stores or having to care about the platform at all - which may be desktop or mobile these days.
Also no one wants to carry storage devices with them any more. I really don't want this to be the case but I bet in 10 years USB flash drives and SD cards stop being a thing.
PCs are no longer the main computing device of the masses.
I don't think that's an active choice. I think this is something that Google and Apple keep pushing for the same reason that MS kept "IE6 broken for so long": the less available storage on the phone, the more people are locked to their cloud services.
> PCs are no longer the main computing device of the masses.
Sure, but we are talking about "Office suite in the cloud" here. Of course you are going to hear the exceptional case of someone that writes their own novels or powerpoint presentations on their phone, but I'm willing to bet that the for the majority of office workers, their main method of interacting with the application is through a big screen PC + keyboard and mouse.
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
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.
Only the actual managed services could reasonably be called cloud computing when they are hosted in an elastic and scalable infra.
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).
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.
Just a heads up in case anyone gets the idea that photos on NC "just work"
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?
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.
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.
[2] https://help.nextcloud.com/t/recover-encrypted-files-after-l...
[3] https://help.nextcloud.com/t/all-files-lost-after-encryption...
I typically self host with full disk encryption which I trust more than application level encryptions. Guessing that works for most self hosters
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.