jtagcat / samba

Samba docker container
GNU Affero General Public License v3.0
9 stars 3 forks source link

project discussion, now I guess? #2

Open jtagcat opened 2 years ago

jtagcat commented 2 years ago

samba fully crashes when windows client with mounted drive deletes a .lnk
oops
dunno if reported

the helpful link in log is very helpful https://wiki.samba.org/index.php/Bug

gonna go sleep
seriously, fuck nextcloud
windows is garbage as well
so is software and humans writing it go to bed

cruizba commented 2 years ago

hahaha nice issue rant. Thanks for the fork anyway, I was thinking to fork it when I see it was not maintained nor updated.

I'm agree with you, software is a mess nowadays. Too much complexity. We will pay it in the future.

Best regards

cruizba commented 2 years ago

Just FYI, I end up using this fork (https://github.com/Erriez/docker-samba) because I was unable to use it on arm64. Looks pretty good too, and it looks like the author wants to maintain it. I was thinking about making a pull request with autobuilds with github actions to keep images always updated.

jtagcat commented 2 years ago

I was unable to use it on arm64 Saying that isn't enough, do give details, did you get an error message or something?

Checked it out myself:

$ docker run --rm ghcr.io/jtagcat/samba:armhf
Unable to find image 'ghcr.io/jtagcat/samba:armhf' locally
armhf: Pulling from jtagcat/samba
59bf1c3509f3: Pull complete
b6b927d588d9: Pull complete
63a518eb1790: Pull complete
Digest: sha256:564bfcb16aa4869101946778b45e93909f848e80c5b9dc23aec7c708de8f2ea7
Status: Downloaded newer image for ghcr.io/jtagcat/samba:armhf
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
standard_init_linux.go:228: exec user process caused: exec format error
$ docker run --rm ghcr.io/jtagcat/samba:aarch64
Unable to find image 'ghcr.io/jtagcat/samba:aarch64' locally
aarch64: Pulling from jtagcat/samba
Digest: sha256:564bfcb16aa4869101946778b45e93909f848e80c5b9dc23aec7c708de8f2ea7
Status: Downloaded newer image for ghcr.io/jtagcat/samba:aarch64
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
standard_init_linux.go:228: exec user process caused: exec format error

Seems you are expected to use buildx, I can't quickly easily test the CI without breaking prod. I might try later, though.

It makes sense (painfully obviously so), you can't really 'just' build it on the same arch. It'd be nice if GH would make multiarch runners available for native builds.

I deleted the tags for now, as to not advertise working brokenness.


@Erriez are you interested in (fully declaring a fork and) maintaining the thing? I can go ahead and merge / PR relevant changes to your fork.

https://github.com/Erriez/docker-samba/pull/1 seems to be sane changes, but how do you organize builds now? Do you manually run commands (could they be documented)? Is there external CI that does that?

TODO: link smb.conf man somewhere, for ease of access.


All I can say is that I don't want to take responsibility on maintaining it. I just want to mount a god damn directory under Windows, and if possible, keep a local cache.
Still, recycle bin just doesn't work[^1], and once in a while, the container decides to halt. One cause was the .lnk files, otherwise, I haven't had the chance to debug it enough. xattrs.. also seem broken. I can and prefer to fix stuff for others as well.

[^1]: Tried different options with smb, smb_set_file_dosmode: file_set_dosmode of <library folder, such as Desktop>/$RECYCLE.BIN failed: Function not implemented still pops up.

jtagcat commented 2 years ago

For a boilerplate, you can take my .github/workflows/build-ghcr.yml file, it pushes to ghcr. I say it's much easier to deal with (auth + rate limits / auth walls + links).

In my experience, doing logic inside the CI file gets complex fast. Adding logic for PRs is dumber, if you duplicate the file, and push to a tag say pr_username_branch (names might need to be transformed). It does duplicate some content (what you may choose to store inside, say shell files). Retagging on merge to master is likely not worth your time.

I guess tag me when you want PRs, or you can probably just merge them yourself as well.

jtagcat commented 2 years ago

jfyi

GitHub Packages is free for public repositories

Pretty much all GitHub and GitLab features are free under the condition that the repo is public.

jtagcat commented 2 years ago

Public and private repositories are not connected. You can be at your quota on private, while still having unlimited on public repos. :)

jtagcat commented 2 years ago

@cruizba are you or anyone else interested in an updated (still i-do-not-plan-on-maintaining) version?
@Erriez's fork poofed, probably due to licencing infringements against @dperson and all other contributors, likely by themselves.

I'm not interested in samba myself anymore, but I do have all the commits, it can be reworked.

cruizba commented 2 years ago

Umm I have not enough time to maintain such project. I think that your github workflow and weekly updates just fit my needs at the moment. Also don't feel like this is an obligation, it is ok to not maintaint, you just forked the repo, nothing else ;)

cruizba commented 2 years ago

@jtagcat I've made you a pull request if you want to have your own autobuild multiarch CI github action: https://github.com/jtagcat/samba/pull/3