Rant! 100GB Log file in Nextcloud.
-
Nc is great, it really is amazing that it is foss.
Sure it isn't the slickest or fastest, and it does need more maintenance than most foss services, but it is also more complex and has so many great features.I really recommend nc, 99% of the time it just works for me. It just seems that their docker was done pretty poorly imo, but still it just works most of the time.
-
Look, defaults are a thing and if your defaults suck then you've made a mistake and if your default is to save a 100GB of log file in one file then something is wrong. The default in Dockers should just be not to save any log files on the persistent volumes.
-
Probably, but still, if they are, just rotate them.
-
Why is that? Really? The Dev should replace a system function? And implement over and over again the same errors when logrotate exist?
-
Dockers images are often incoherent and just different from one a other so much that you should never give something as expected and doublecheck the basics.
Docker was never meant do deploy services, and I shows.
-
Yes, that’s exactly what we’re arguing here. The developer also should replace autotools/cmake, git, … Don’t be daft! Packaging sane defaults for logrotate is now replacing a system function?
-
Is it default on every distro? If not, then it's the responsibility of the dev.
-
It's absolutely meant to deploy services, that's its entire purpose...
-
Docker is supposed to run a single process
Logrotate is a separate process. So unless the application handles rotating logs, the container shouldn't handle it. -
Docker services should let docker handle it, and the user could then manage it through Docker or forward to some other logging service (syslog, systemd, etc). Processes in containers shouldn't touch rotation or anything, just log levels and maybe which types of logs go to stdout vs stderr.
-
Does podman do the Docker networking thing where I can link containers together without exposing ports to the rest of the system? I like my docker compose setup where I only expose caddy (TLS trunking) and Jellyfin (because my TV fails connecting w/ TLS).
-
I've considered writing my own, but it's a ton of work. Even for my very basic use case of a file browser that offloads all edits to Collabora CODE. I had a basic system started in Go some years back, but bailed when I got a basic setup working (just file ops).
Maybe I'll give it a shot again. I mostly use Rust now, and I'm kind of stalling on my P2P Lemmy idea anyway. I really don't like PHP and I don't use many of the Nextcloud features anyway. I just want Google Drive w/ LibreOffice or OnlyOffice.
-
You can move it.
-
Exactly. It should just write to stdout and let whatever is running it manage it.
-
What? Like, yeah you are responsible to do your own checks, sure. but the fuq you said about docker?
-
I would argue that logrotate was the ABC of any sysadmin in 2005, but today that should be a solved problem, whether in docker or bare metal.
-
Right, I should probably map the file directly to the system log folder.
I'll try that. -
Containers don't do log rotation by default and the container itself has no say in the matter. You have to configure it in your container runtime config.
-
Docker stores that stdout per default in a log file in var/lib/docker/containers/...
-
I disagree with this, container runtimes are a software like all others where logging needs to be configured. You can do so in the config of the container runtime environment.
Containers actually make this significantly easier because you only need to configure it once and it will be applied to all containers.