I’ve tried NextCloud before and didn’t really love it and I’m now happy with a combination of syncthing and LibreOffice. But my wife wants the full google drive, with sheets, docs etc. without the google, and I think NextCloud is my best option for that.

I’m and experienced *nix admin and already have a Linux server running with both VMs and docker containers and also have a working OpenVPN setup for remote access. But I found the NextCloud setup frustrating. We had a discussion about it (here I think) and determined that this was because NextCloud would rather sell their hosted service, so they don’t go out of their way to make the self hosted option easy. I get that and don’t hold it against them at all.

But, now that I’m wanting to try it again, I’m looking for pointers to guides for setting up self hosted NextCloud. I’ve searched, but nothing I found seemed like “the one”.

  • The Zen Cow Says Mu@infosec.pub
    link
    fedilink
    English
    arrow-up
    3
    ·
    13 hours ago

    I run nextcloud in a podman pod because I’m coocoo bananas that way. It uses authentik as an SSO provider using the nextcloud OIDC plugin. And I use the linuxserver.io container rather than the official nextcloud one because gosh darn it , it actually works

    [Pod]
    PodName=nextcloud
    PublishPort=10443:443
    PublishPort=9980:9980
    

    Nextcloud-db.container

    Description=db
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    Restart=always
    
    [Container]
    Pod=nextcloud.pod
    ContainerName=nextcloud-db
    Image=docker.io/library/mariadb:11
    AutoUpdate=registry
    Volume=nextcloud-db.volume:/var/lib/mysql:Z
    Environment=MARIADB_HOST=nextcloud
    Environment=MARIADB_DATABASE=nextcloud
    Environment=MARIADB_USER=nextcloud
    Environment=MARIADB_PASSWORD=nextcloud
    Environment=MARIADB_ROOT_PASSWORD=nextcloud
    
    [Install]
    WantedBy=default.target
    
    

    Nextcloud-app.container

    [Unit]
    Description=Nextcloud
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    Restart=always
    
    [Container]
    #Label=app=nextcloud
    ContainerName=nextcloud-app
    Pod=nextcloud.pod
    Image=lscr.io/linuxserver/nextcloud:latest
    AutoUpdate=registry
    Volume=nextcloud-config.volume:/config:Z
    #Volume=nextcloud-data.volume:/data:Z
    Volume=/home/nextcloud/:/data:Z
    Environment=TZ=America/New_York
    Environment=PUID=1000
    Environment=PGID=1000
    #PublishPort=10443:443
    
    [Install]
    WantedBy=default.target
    

    Nextcloud-office.container

    [Unit]
    Description=Nextcloud-office
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    Restart=always
    
    [Container]
    #Label=app=nextcloud
    ContainerName=nextcloud-office
    Pod=nextcloud.pod
    Image=docker.io/collabora/code:latest
    AutoUpdate=registry
    Environment=server_name=office.app.myserver.org
    Environment=aliasgroup1="https://nextcloud.app.myserver.org/"
    [Install]
    WantedBy=default.target
    
    • pmk@piefed.ca
      link
      fedilink
      English
      arrow-up
      1
      ·
      12 hours ago

      Always nice to see podman used well! Do you have a dedicated user or is it rootful?

        • pmk@piefed.ca
          link
          fedilink
          English
          arrow-up
          1
          ·
          5 hours ago

          Interesting, do you remember which didn’t work? I recently set up a simple service (navidrome) as rootless podman with an ansible script, but it was… there were some hoops to jump through, mainly with the uid/gid and machinectl to get it to work.