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"
  • Elbullazul
    link
    fedilink
    English
    11 year ago

    thanks for the tip, pictrs in particular was taking up a lot of space with its log

  • OdiousStooge
    link
    fedilink
    English
    11 year ago

    Huge thank you! I had a feeling something like this was going on but had no idea how to troubleshoot/fix.

    My pictrs and lemmy 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}}'

  • Lodion 🇦🇺
    link
    fedilink
    English
    01 year ago

    You missed the container name:
    docker inspect CONTAINERNAME --format='{{.LogPath}}'

    Great post, thanks for the info.

    • RuudOP
      link
      fedilink
      English
      11 year ago

      I have the containername as last , but it wrapped to a new line. I’ll change that to make more clear