Hey friends. I finally fired nextcloud - and so should you.

edit: wow. reddit banned me for posting a link to my (completely unmonitezed, unproductized) blog in multiple r/selfhosted threads. I bet it’s related to this lemmy link

  • Yerbouti@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    7 months ago

    What’s wrong with Nextcloud? It’s not as snappy as google drive but it’s fine for small organisation IMO. I personally really enjoy it.

    • bytepursuits@programming.devOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      7 months ago

      I’m sorry - I understand it’s free, but this is how I feel:

      Nextcloud stopped being a fast, reliable file sync tool a long time ago (I mean - was it ever? it’s free thats why most people use it).
      It’s become a bloated “groupware suite” full of useless Talk, Groupware, AI, and half-finished apps…
      while the core sync still chokes on large folders and locks files like it’s 2015.

      The Core Problem PHP-FPM and mod_php are ancient architectures - every request spins up, runs, and dies. No persistent memory, no connection reuse, and no async I/O, no coroutines, slow as molasses non scalable backend held together only with redis.
      Result: slow UI, slow sync, race conditions, and constant errors. Tons of open GitHub issues about sync bugs, upgrades, and no action from nextcloud. I’m sick of it. I’m done with it and I will be very direct about it.

      Comments and issues and proposed classical PHP solutions are shocking:

      https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/big_file_upload_configuration.html#configuring-your-web-server Nextcloud suggests you up its ram to 16Gb. 16Gb Carl!

      php_value upload_max_filesize 16G
      php_value post_max_size 16G
      

      What about 17Gb files Nextcloud? nogo? don’t use nextcloud then? Have you ever heard of TUS?

      opencloud can run circles around nextcloud now - it is written in GO, much better architecturally, long running, uses connection pooling, does not need redis to survive.

      What they (nextcloud) should do: Hyperf + Swoole
      Swoole turns PHP into a high-performance async server - persistent memory, connection pooling, non-blocking I/O.
      Hyperf+swoole - can rival GOlang. Hyperf builds on it: native WebSockets, coroutine HTTP, and microservice-ready architecture. You get live sync, push notifications, and massive concurrency with a fraction of the resource cost. Add TUS (resumable uploads) and you finally have reliable file transfer on bad connections.

      I don’t want bloat. I want reliable sync that just works. I’d rather self-host a lean, fast sync app than manage ten half-integrated apps. They need to switch to Hyperf + Swoole - and bring Dropbox-level sync to self-hosting without the pain.

      Nextcloud could fix its image by: Refocusing on sync reliability and performance. Moving core services to a persistent, async engine (Swoole / hyperf, etc). Making “Nextcloud Core” modular - separate entirely from the groupware/ai/talk - I don’t fucking need it. Until then, those who care about speed, concurrency, and modern PHP should look beyond the old PHP-FPM world.

      Im not the only person - people are sick of this inaction:

  • LemmyPlay@lemmings.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    7 months ago

    Thanks for putting this together. I have been dragging my feet on self-hosting NextCloud, and now it looks like that procrastination may just work out in my favor.

    One question, can I just run this on localhost and access through my local network instead of using a reverse proxy? If so, how? That’s all I need, I don’t use a reverse proxy now and would be fine just using a self-hosted VPN to access it when away from my private network. The docs make it seem like there is pretty stringent requirements on having to use a reverse proxy and certs, etc which was the same ‘issue’ I had with NextCloud. I guess I’m the minority here, but curious if anyone can help answer.

    • rtxn@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      7 months ago

      You can absolutely use it without a reverse proxy. A proxy is just another fancy HTTP client that contacts the server on the original client’s behalf and forwards the response back to it, usually wrapped in HTTPS. A man in the middle that you trust.

      All you have to do is expose the desired port(s) to all addresses:

      # ...
        - ports:
          - 8080:8080
      

      …and obviously to set the URL environment variables to localhost or whatever address the server uses.