I see many questions, thought I’d make a post :-)
So when running Lemmy in Docker, you’ll see your /
filesystem gets filled up quickly. That’s mainly in /var/lib/docker/containers
. It’s the logging of the containers.
Docker will default save all logging. Also when you docker-compose stop
and restart, the logging stays.
Only when re-creating the containers (docker-compose down;docker-compose up -d
) it will clear the logs.
Why is my container logging this much?
In the docker-compose.yml
you’ll see an environment variable RUST_LOG=
which is set to info
. This logs all informational messages.
You can set this to warn
instead to only get warning and error messages. (Requires container recreate)
How to manually cleanup the log without restart
You can find the log of a container with
docker inspect --format='{{.LogPath}}' <containername>
You can then wipe it by typing '> '
(so greater than followed by space) followed by the file path+name.
(Removing it while the container runs wil not really remove it, you’ll just no longer see it but it still exists and grows as long as the container runs)
How to prevent logs from growing too large
You can set a max for log file size in your docker-compose.yml
using these lines for every container:
logging:
driver: "json-file"
options:
max-size: "100m"
Huge thank you! I had a feeling something like this was going on but had no idea how to troubleshoot/fix.
My
pictrs
andlemmy
containers were the biggest between 3-8 GB (significant for a smaller instance) after a couple weeks.For anyone who finds this, in addition to what OP provided here, another command I found helpful (since I am a docker noob 🙂) to find the name of the currently running containers:
docker ps --format '{{.Name}}'