Looking to maybe self host my own instance, I’m still learning about the fediverse. If a different instance that I federate with hosts something illegal are there risks to me? Is anything from other instances hosted on my server like a copy of it? Or would I only end up hosting things my users post? I’m paranoid and sorry if this is a silly question.

  • gabe565@lemmy.cook.gg
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    The activity table is also used to deduplicate incoming federation data, so instead of truncating it, I’d suggest deleting rows after a certain amount of time.

    For my personal instance, I set up a cron to delete entries older than 3 days, and my db is only ~500MB with a few weeks of content! I also haven’t seen any duplicated posts or comments. Even with Lemmy’s retries, 3 days seems to be long enough before dropping rows from that table.

    • pe1uca@lemmy.pe1uca.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Ah! I didn’t know exactly what was being used for.
      Yeah, then it can only be trimmed, not truncated.

    • ipkpjersi@lemmy.one
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      Could you share the cron/script you use to do this? I’m interested in hosting my own Lemmy at some point, and having a script for that cleanup would be hugely helpful for me.

      • gabe565@lemmy.cook.gg
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Definitely! I’m hosting in Kubernetes so I won’t post the full thing, but here’s the actual command that I run hourly. Make sure to replace the values for database, username, and password.

        PGPASSWORD=password psql --dbname=database --username=username --command="DELETE FROM activity WHERE published < NOW() - INTERVAL '3 days';"
        
        • ipkpjersi@lemmy.one
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Awesome, that was just as straightforward as I was hoping it was, thanks! I am more familiar with MySQL as I haven’t used Postgres a ton but SQL is SQL after all lol

    • Thief@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      Can you help me set this up also or share the script I would run to do this? Many thanks.

      • gabe565@lemmy.cook.gg
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Sure! My script will look a little different since I’m hosting Lemmy in Kubernetes, but basically you will want to run the following command hourly. Make sure to replace the values for database, username, and password.

        PGPASSWORD=password psql --dbname=database --username=username --command="DELETE FROM activity WHERE published < NOW() - INTERVAL '3 days';"