Nextcloud plans

Hi everyone - I wanted to open up a general topic on Nextcloud plans to have a space to discuss our next steps.

First, as indicated in our 2020 membership infrastructure report, we are in the process of re-purposing our old onsite backup server (with 12 hot swapable disk drives) into the Nextcloud server. We now have 10 3TB Sata disks and 2 2TB SSD disks in place. And, I’m in the process of incorporating a docker-based Nextcloud setup into our ansible scripts so we can deploy this Nextcloud server using our new infrastructure.

Second, at the same time, there is a lively discussion on the encrypted support team discussion list and via a support ticket about improving our markdown editor in Nextcloud. In particular, the goal is to make the Nextcloud Mark down editor available, since it is a more flexible markdown editor, allowing you to enter mark down tags directly and view the results. However, we don’t want to disrupt users that depend on the existing text editor, which is a WYSIWYG markdown editor. More experimentation is taking place.

And third, the Resource Usage Team has approved adding Two Factor auth to our Nextcloud set of apps.

I think our roll out will go something along these lines:

  1. Setup a staging Nextcloud instance on our new infrastructure, running the latest version of Nextcloud and all the old apps we have plus the new apps we want, in the configuration we want. We can test and re-test until we get it right.
  2. Upgrade the old instance of Nextcloud to the latest version and ensure all apps are installed and configured
  3. Copy the old instance into the new infrastructure

I’m happy to get feeback and questions on this process.

1 Like

Thanks so much for your support for NextCloud, which I rely on every day. I can go either way on the editor; although generally I’m a Markdown person, I prefer the simplicity of the default WYSIWYG markdown editor.

I haven’t tried Two Factor on NextCloud—but added security is a good thing.

If you’re thinking about apps, too, I recommend considering the Polls app, which is a great alternative to Doodle and would allow members to make easy scheduling polls.

As an infrastructure option, too, I continue to be very happy running NextCloud and other apps on Cloudron. It’s not fully open source (just “source available”), but the team is committed to bootstrapping and avoiding outside investment.

Thank you so much for your hard work in maintaining this powerful service.

Exciting to hear that Nextcloud upgrades are coming! Nextcloud is definitely the top thing we talk about, feature/service wise, when recommending website clients join May First.

Is anyone else having trouble seeing image previews?

This is in the web interface; i don’t know when the last time it worked for me was, i just get “Error loading” and name of the file like this:

loading-error

Probably not worth looking into before the upgrades but this should be tested and fixed during/after the upgrade.

Hi Ben - yes, we’ve seen that error and in the last week have finally made a break through in fixing it (see https://support.mayfirst.org/ticket/16067). If you have any more ideas or thoughts - please follow up on the ticket. Thanks!

1 Like

Hi Everyone - I’m happy to report that I’ve completed the Nextcloud setup in our new infrastruture and I’ve launched staging site which is running the latest version of Nextcloud (20.0.1) and also the extra apps we’ve agreed upon (Two factor Auth and the plain text markdown editor).

Now, with any text file, if you click on it, the file will open with the WYSIWYG text editor (like now). But, in the “…” menu there is an option called “Open with Plain text editor”. If you choose that option, it will open to edit in the markdown editor that displays both raw text and the formatted markdown results.

Please give it a shot and let me know how it goes.

The staging server us using our external authentication so you can login with any working username/password. But, as a staging server, the data won’t last so please don’t store anything important there.

If you notice any bugs, please open a ticket.

1 Like

I’ve completed the prep work for moving share.mayfirst.org from lucius (the existing server) to our new infrastructure (running on the virtual server nextcloud001 which is on the metal server barron, which has significantly more disk space).

I’m tentatively considering Saturday evening, November 28 between 9 and 12:00 am New York for the date of the move and upgrade.

Here’s the list of steps I’ve outlined for making the transition:

Pre-Upgrade steps

  • Test running nextcloud via webproxy. In our new infrastructure, all web sites run via a web proxy, including nextcloud. This means all traffic first goes to the server webproxy001 which then passes it on to the server holding the data. As a first stage of testing, we will configure the webproxy to proxy the connection to lucius. Then, some of us can update our /etc/hosts file with the IP address of the web proxy server and ensure that everything works as expected
  • Next, we will change the DNS entry for share.mayfirst.org to the web proxy server so that all traffic runs through it.
  • Then, when we make the final switch below, we don’t need to make any DNS changes. Instead, we update the webproxy configuration to point from lucisu to the new nextcloud001.

Night of actual upgrade

  • On nextcloud001 run the script sync-from-live (copies the data directory holding all the files from lucius to nextcloud001). Since I’ve already run this script once (it took about a day to copy all thee data), subsequent runs will go faster. I’ve done some testing: It takes 30 minutes to reffresh a stale copy and about 10 minutes to refresh a just sync’ed copy.
  • Put the site (on lucius) in maintenance mode
  • Re-run sync-from-live (should take 10 minutes)
  • dump-live-database dumps the postgres database from lucius. Takes about 3.5 minutes.
  • load-database loads the just dumped database into postgres. Takes about 6 minutes.
  • mf-nextcloud-occ-wrapper mayfirst upgrade - upgrades the site to 18.0.4. Nextcloud core is already running 18.0.4, but our new installer scripts ensure we have the most recent version of each of the third party apps, so those will get upgraded to their latest versions under 18.0.4. This takes a few minutes to complete.
  • In ansible, specify that we now want version 19.0.4 for the share site and push out those changes.
  • Run docker-compose --file /srv/nextcloud/mayfirst/docker-compose.yml up -d. That will trigger the Nextcloud docker image to switch from the 18.0.4 image to the 19.0.4 image (note: Nextcloud does not support directly upgrading to a version more then 1 major upgrade ahead, so we have to go to version 19 before we can get to version 20).
  • Re-run mf-nextcloud-occ-wrapper mayfirst upgrade.
  • Backup the database via mf-nextcloud-backup-database (if the upgrade to version 20 fails, we will be able to easily switch back to version 19).
  • In ansible, specify that we now want version 20.0.2 (20.0.2 is not yet release, but I am assuming it will be out by November 27th… maybe 20.0.3 will be out?).
  • Run docker-compose --file /srv/nextcloud/mayfirst/docker-compose.yml up -d.
  • Re-run mf-nextcloud-occ-wrapper mayfirst upgrade.
  • Change our /etc/hosts file so we connect directly to nextcloud001, by-passing the cache. Fully test to ensure everything is working.
  • Change the webproxy configuration so traffic is forwarded to nextcloud001 instead of lucius.

Celebrate. Go to bed.

Done! We are now running version 20.0.2 on our new infrastructure at https://share.mayfirst.org/. And we have two factor authentication and the alternative mark down editor.

1 Like

Thank you for updating the instance!

Has anybody tried the Appointments app on NextCloud? If it works, I would find this super appealing, as Calendly and other popular services tend not to have WebDAV support, and I’d love to handle appointments locally:)

That looks useful if I understand it correctly.

Does that mean you can set aside time slots that you are available and then send selected people a link where they can enter when they want to meet with you?

Sorry for the delay here; just noticed this. Yes, the idea is that it would work something like Calendly, enabling people to schedule appointments directly in available slots in your calendar, within constraints you specify.