So far my experience with Nextcloud has been that it is a pain in the arse to install, and once it’s installed is slow as anything. Literally couldn’t run it on my pi 3b, now got it up and running pretty nicely on a NUC but it’s still not great. Have caching set up.

I have the notes app installed on my android phone and I can never used rich text editing because it gives timeout error.

This shouldn’t be this complicated. All I want is to de-Google my documents and notes, and self-host my kanban. I don’t really need the rest though it’s nice to have the options.

Do people use alternatives? Am I doing something completely wrong? I set it up using nginx which I know is not supported, but the alternative using Docker AIO didn’t allow me to use custom port easily.

  • moist_towelettes@lemm.ee
    link
    fedilink
    English
    arrow-up
    2
    ·
    10 months ago

    Pydio and Seafile are alternatives I’ve tried. Pydio was pretty fast too. I agree with you on Nextcloud, I want to like it but I inevitably start having issues and it’s slow even after tuning. It just tries to do too much and shouldn’t be that complex to spin up a file server.

    • christophski@feddit.ukOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      10 months ago

      To be honest I’m not interested in the file sharing side of nextcloud as I use Syncthing, I’m more interested in the utilities (eg notes, kanban) and the office capabilities. I want to replace gsuite

  • sdw@lemmy.ca
    link
    fedilink
    English
    arrow-up
    2
    ·
    10 months ago

    Just want to say that I’ve been there. There was a time my Nextcloud install was incredibly slow. Fortunately (or unfortunately?), it is featureful enough and widely supported that once you figure this issue out, it is a nice service to keep running.

    For me, adding Redis was essential. It doesn’t really make sense to me why (nothing I do on Nextcloud is intensive or data heavy) but it has greatly improved the performance of my app.

    My entire setup is a containerized Nextcloud, Nextcloud Cron, MariaDB (if I knew Postgres was an option, I would’ve chosen that), and Redis:

    version: '2'
    services:
      nextcloud:
        container_name: nextcloud
        image: nextcloud:27-apache
        restart: unless-stopped
        environment:
          - MYSQL_PASSWORD=nextcloud
          - MYSQL_HOST=db
          - MYSQL_DATABASE=nextcloud
          - MYSQL_USER=nextcloud
        labels:
          - 'public-service=true'
          - 'traefik.enable=true'
          - 'traefik.http.routers.cloud.rule=Host(`nextcloud.some.domain`)'
          - 'traefik.http.routers.cloud.tls=true'
          - 'traefik.http.services.cloud.loadbalancer.server.port=80'
        volumes:
          - /some/data/dir/nextcloud/data:/var/www/html
          - /some/external/dir:/wew:ro
    
      nextcloud-cron:
        image: nextcloud:27-apache
        restart: unless-stopped
        command: [/cron.sh]
        environment:
          - MYSQL_HOST=db
          - MYSQL_DATABASE=nextcloud
          - MYSQL_USER=nextcloud
          - MYSQL_PASSWORD=nextcloud
        volumes:
          - /some/data/dir/nextcloud/data:/var/www/html
          - /some/external/dir/:/wew:ro
    
      db:
        image: mariadb:10.4
        restart: unless-stopped
        environment:
          MYSQL_DATABASE: nextcloud
          MYSQL_USER: nextcloud
          MYSQL_ROOT_PASSWORD: nextcloud
        volumes:
          - /some/data/dir/nextcloud/db:/var/lib/mysql
    
      mysqldump:
        image: mariadb:10.4
        depends_on: [db]
        # restart: never # cronjob
        labels:
          - 'cron.schedule=0 0 8 * * ?'
        entrypoint: [mysqldump, -h, db, -u, nextcloud, -pnextcloud, --all-databases, -r, /out/nextcloud.sql]
        user: root
        volumes:
          - /some/data/dir/nextcloud/db-dump:/out
    
      redis:
        image: redis
        restart: unless-stopped
    
    • Giddy@aussie.zone
      cake
      link
      fedilink
      English
      arrow-up
      0
      ·
      10 months ago

      Can I ask why the separate NC container for cron? Also, I presume the mysqldump container is for easy db backups?

      • sdw@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        10 months ago

        The separate cron container made the most sense to me. Other variants “work” but imo are mostly workarounds to avoid setting up a real cronjob. Beyond this I have no real reason, nor can I vouch that is is more or less performant than others.

        Yes, the mysqldump container is for easier restores. It’s much easier to restore from a .sql file than a raw data dir that was copied while the DB was running ;) (speaking from experience…)

  • Giddy@aussie.zone
    cake
    link
    fedilink
    English
    arrow-up
    2
    ·
    10 months ago

    I seriously suggest you give Nextcloud another go, this time under Docker. Very simple to do.

    Save the following in a new folder as docker-compose.yml

    version: '3'
    
    volumes:
      db:
    
    services:
    
      nextcloud-app:
        image: nextcloud
        container_name: nextcloud-app
        restart: always
        volumes:
          - ./data:/var/www/html
        environment:
          - MYSQL_PASSWORD=changeme
          - MYSQL_DATABASE=nextcloud
          - MYSQL_USER=nextcloud
          - MYSQL_HOST=nextcloud-db
        ports:
          - "80:80"
        links:
          - nextcloud-db
    
      nextcloud-db:
        image: mariadb
        container_name: nextcloud-db
        restart: always
        command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
        volumes:
          - db:/var/lib/mysql
        environment:
          - MYSQL_ROOT_PASSWORD=changeme
          - MYSQL_PASSWORD=changeme
          - MYSQL_DATABASE=nextcloud
          - MYSQL_USER=nextcloud
    

    run this command in the folder -

    docker-compose up -d

    open http://localhost

    • iHUNTcriminals@lemm.ee
      link
      fedilink
      English
      arrow-up
      0
      ·
      10 months ago

      Is the mariadb a default part of nextcloud? I’ve seen posts saying to use a separate db so things can be backed up easier, so I was wondering if that’s how you have it set up above.

      • scorpionix@feddit.de
        link
        fedilink
        English
        arrow-up
        1
        ·
        10 months ago

        In this setup the DB is not part of Nextcloud. Both are running in separate services aka containers, which can be administrated independently from each other.

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    10 months ago

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters
    AP WiFi Access Point
    HTTP Hypertext Transfer Protocol, the Web
    NUC Next Unit of Computing brand of Intel small computers
    RPi Raspberry Pi brand of SBC
    SATA Serial AT Attachment interface for mass storage
    SBC Single-Board Computer
    SSD Solid State Drive mass storage
    VPS Virtual Private Server (opposed to shared hosting)
    nginx Popular HTTP server

    7 acronyms in this thread; the most compressed thread commented on today has 6 acronyms.

    [Thread #125 for this sub, first seen 10th Sep 2023, 09:45] [FAQ] [Full list] [Contact] [Source code]

  • Dave@lemmy.nz
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    I have nextcloud running on docker on a Raspberry Pi 4 and I’d say the performance is comparable to Onedrive web interface. If you’re getting timeouts then something must be wrong with the setup, not the machine it’s running on. Using Postgres instead of MySQL or using an SSD instead of HDD is not going to help your issue.

  • redcalcium@lemmy.institute
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    I’m my experience, nextcloud is quite I/O bound. The performance of your storage device will greatly affect nextcloud performance. But if you’re already using SSD and the performance still bad, maybe there are other issues with your setup.

    • AggressivelyPassive@feddit.de
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      10 months ago

      For me, speed isn’t the only issue. Everything about nc seems to be cobbled together in the most inconvenient way possible. Updates have always been hit or miss for me - and if you choose to use dockerized versions, you might as well shoot yourself, everything is very slow, even as the only use having it running on a quite capable machine it feels sluggish (not slow, but uncomfortably delayed).

      It’s a glorified Dropbox clone, why do I need anything more than a rpi1 for that?

  • scrapeus@feddit.de
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    I suspect nextcloud having performance issues with slow Disk IO. With rootless containers I had a much worse performance than rootfull. Also using MySQL Backend instead of SQLite did speedup the performance.

    Nevertheless I have the same problems with nextcloud as you stated. Pretty much not as usable as I thought.

    • christophski@feddit.ukOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 months ago

      It’s on a SATA drive, albeit hard drive not ssd and I’m using mariadb. Everybody seems to suggest I need a beefier server but as a developer myself, the functionality of the software doesn’t seem to warrant anything more powerful.

      • poVoq@slrpnk.net
        link
        fedilink
        English
        arrow-up
        1
        ·
        10 months ago

        Try moving the database at least on a SSD, and enable Redis caching.

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

        How much memory? I think nextcloud wants around 8gb to run happily (ymmv). I’ve tried it with smaller sizes and ran into issues.

        • christophski@feddit.ukOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 months ago

          Yes I have 8gb of ram, but it seems insane that it needs that much considering what it is doing.

        • MonkderZweite@feddit.ch
          link
          fedilink
          English
          arrow-up
          0
          ·
          10 months ago

          I think nextcloud wants around 8gb to run happily (ymmv).

          As a developer myself, where did it go wrong?

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

            I’m not sure it’s going “wrong”. It depends on the scenarios it’s designed for. If they intend it to be run on servers (there is no class of raspberry pi that is a server) then you design it to take advantage of those resources.

              • atzanteol@sh.itjust.works
                link
                fedilink
                English
                arrow-up
                1
                ·
                edit-2
                10 months ago

                I didn’t mean to imply it needed server hardware. You can absolutely self-host Nextcloud. But RPIs are the absolutely lowest-end of hardware for serving duties. They’re great little systems but they’re designed to be cheap, not performant.

                I self-host currently on a VM running on a 12 year old x86 system with 8GB RAM and with the Nextcloud file storage going over a 1Gbps NFS mount. Not exactly a high-end setup. And it performs just fine. I was previously running on a AWS EC2 instance where I noticed occasional issues running on a T4g.SMALL. (only 2GB RAM). I had to bump up to a MEDIUM at some point though.

                It worked with less RAM pretty fine for a long time. But as I increased usage it would have issues occasionally. I think with all the images I have it was doing lots of processing for thumbnails and the like. I never really dove into it to see what exactly was going on though…

                But still - a moderately old desktop system with 4-8G of RAM is just fine for “self-hosting”.

                EDIT: I should add - I’m also hosting MariaDB on the same server - also with its data stored on an NFS share.