Skip to content

Upgrade to Forky and NC 33.0.x#1

Open
reetp wants to merge 8 commits into
DyonR:mainfrom
reetp:main
Open

Upgrade to Forky and NC 33.0.x#1
reetp wants to merge 8 commits into
DyonR:mainfrom
reetp:main

Conversation

@reetp
Copy link
Copy Markdown

@reetp reetp commented May 18, 2026

Thanks for the scripts!

I have updated various files if you are interested :-) Zero guarantee that my code is 100% trustworthy!

Some notes:

Use Forky
Use NC 33.0.x client
Use .env
Add a few tools for building, and in the container
Add language support to handle odd filenames eg Product©.jpg etc
Add localtime support
Update .netrc format
Add some extra config settings
Add full path names to save issues
Add multiple sync paths
Add a 'if running then wait' check

I just use this to build and deploy:

podman build -f Dockerfile --network host -t nextcloud .
podman compose up -d occlient

Issues:

Logs still an issue - set 50Mb but they don't seem to update/rotate.

I had some issues with big directories and the client appearing to exit at this rather than loop:

/usr/bin/su - nextcloudclient -c "nextcloudcmd

It then restarts from the entry point - I presume that is because there were errors rather than warnings so it exits with 1 instead of 0 and exits the loop.

I need to try and trace this to see if it can be avoided.

I've done this as a big blob - you may want to break it down a bit. I'll leave it with you.

Thanks again for the inspiration.

@DyonR
Copy link
Copy Markdown
Owner

DyonR commented May 18, 2026

Thanks for contributing @reetp! It's always great to see other working on or using code that you've made 😄

First, I would advise against using Forky for this image, since Forky is still Debian testing. For this container I prefer to use stable versions, so Trixie would make more sense to me. However, I do recognize that Trixie currently provides nextcloud-desktop-cmd version 3.16.7-1~deb13u1, while Forky provides 33.0.2-1. That is quite a large jump from the current 3.x version to the new 33.x version, skipping over version 4.x also. I would want to test that more thoroughly before switching.

Besides that, there are a few other problems I've noticed, or things I would personally do differently:
In docker-compose.yml, the image changes from dyonr/nextcloudcmd-client to nextcloud. I do not think that is intended, since this project builds a nextcloudcmd-client image, and does not use the official Nextcloud Docker image.
Also, there seems to be a typo, NEXTCLOUD_PROTO=${NEXTCLOUD:-https}, shouldn't that be NEXTCLOUD_PROTO=${NEXTCLOUD_PROTO:-https}?

(docker-entrypoint.sh) Do not replace PATH with (${NEXTCLOUD_FILEPATH}). This breaks what PATH normally should be, namely PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin. That also seems to be why the script now explicitly uses /usr/bin and /usr/sbin paths for commands like ts, useradd, getent, groupadd, etc. I would rather rely on a proper PATH, or use a different variable name for the Nextcloud file paths.

I would also avoid hardcoding en_GB.UTF-8. Since that locale is region-specific, I think C.UTF-8 would be a better default, neutral encoding, for an image.

Adding an alias ll for ls -l is not something I find nice to include in the container, this could better be used as a post argument in a Docker command if the user wishes to have to.

The Dockerfile also runs COPY ini /root/.config/mc/, but ini does not even exist.

Because of the above, I do not think I can merge this as-is. I do appreciate the contribution though!
I will also definitely look into Nextcloud version 33 to see which new features have been added and which ones could be implemented at a later time.

@reetp
Copy link
Copy Markdown
Author

reetp commented May 26, 2026

Thanks for the comments - yes there is a lot I could change. I just wanted to lob something up before I forgot!

I understand about trixie but wanted to be able to use the newer client. Seems OK so far but keeping a watching brief on it (I am testing this to use with two linux servers syncing to a hosted Nextcloud which is replacing my self hosted one which synced with unison for nearly 20 years!)

locale - yup that's me :-) I did it quickly for me so yes it should be more generic.

I added the mc and ll parts as I was hacking about inside the container and it was convenient for testing :-)

I missed the ini file :-(

Thanks for pointing them out. Rushing too much! I'll go back and try and make something a little more generic.

@reetp reetp closed this May 26, 2026
@reetp
Copy link
Copy Markdown
Author

reetp commented May 26, 2026

Think if I leave this open it will show changes.

I'll try to re-open.

@reetp reetp reopened this May 26, 2026
@reetp
Copy link
Copy Markdown
Author

reetp commented May 26, 2026

OK - might be a bit better.

Think I changed the image names as I run this in two different places and needed different settings. I set it back to the 'default' name.

I had to do something about the locales, and add it to the bashrc for the actual command to use in su as it baulked at some file names. YMMV....

See what you think. Happy for you to grab anything you like and use it, or not!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants