What is Lemmy?

Lemmy is a self-hosted social link aggregation and discussion platform. It is completely free and open, and not controlled by any company. This means that there is no advertising, tracking, or secret algorithms. Content is organized into communities, so it is easy to subscribe to topics that you are interested in, and ignore others. Voting is used to bring the most interesting items to the top.

Changes

This release includes various minor improvements and bug fixes.

Backend

  • Fix Peertube federation by @flamingos-cant in #5652
  • Show NSFW content by default if content_warning exists by @xaegit in #5655
  • Register users in a transaction by @Nothing4You in #5608
  • Fix email notifications for denied applications by @Nutomic in #5641
  • Dont run scheduled tasks at startup by @Nutomic in #5732
  • Only use HTTP/1 for federation by @flamingos-cant in #5744
  • Update user count from local_user table instead of person table, and only count users with accepted application by @dullbananas in #5495
  • Decrement fail_count instead of reset to 0 by @Nutomic in #5737
  • Fix opentelemetry by @MrKaplan-lw in #5702
  • Fix post listing in nsfw communities by @Nutomic in #5698
  • Add missing post_read / hide / saved post_id indexes by @dessalines in #5689
  • Improve media deletion logic by @Nothing4You in #5677
  • Include published in VoteView order by for more consistent pagination by @MrKaplan-lw in #5676
  • Mark posts in NSFW communities as NSFW by @Nothing4You in #5646
  • Use version from git to indicate unreleased changes by @MrKaplan-lw in #5622

Frontend

  • Add Rblind theme by @travis-jeans in #3159
  • Remove browser cache by @SleeplessOne1917 in #3150
  • Show registration denial reason on login by @dessalines in #3175
  • Always escape HTML attributes in emoji autocomplete and custom emoji markdown renderer by @Nothing4You in #3169
  • Fix missing user badge for deleted users by @MrKaplan-lw in #3162
  • Add hungarian language by @dessalines in #3158
  • Fixing cache-control header. by @dessalines in #3148
  • Disable blur for NSFW images by default if content_warning exists by @xaegit in #3128
  • Add Vary: Cookie Header (fixes #3117) by @xaegit in #3119
  • Use alert-info for donation dialog by @dessalines in #3115
  • Optimize Dockerfile by @Nothing4You in #3090
  • Add support for using Lemmy UI with an external Lemmy instance by @SolninjaA in #3041
  • Only show View registration button to admins on profiles of local users by @Nothing4You in #3072

Upgrade instructions

There are no breaking changes with this release.

Follow the upgrade instructions for ansible or docker.

If you need help with the upgrade, you can ask in our support forum or on the Matrix Chat.

Thanks to everyone

We’d like to thank our many contributors and users of Lemmy for coding, translating, testing, and helping find and fix bugs. We’re glad many people find it useful and enjoyable enough to contribute.

Support development

We (@dessalines and @nutomic) have been working full-time on Lemmy for over five years. This is largely thanks to support from NLnet foundation, as well as donations from individual users.

If you like using Lemmy, and want to make sure that we will always be available to work full time building it, consider donating to support its development. A recurring donation is the best way to ensure that open-source software like Lemmy can stay independent and alive, and helps us grow our little developer co-op to support more full-time developers.

  • Dessalines@lemmy.mlOPM
    link
    fedilink
    English
    arrow-up
    2
    ·
    12 days ago

    You’d need to post your dockerfile, that’s not an official install method so I have no idea what’s wrong.

    • frozen@lemmy.frozeninferno.xyz
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 days ago

      I’m using the regular Docker file, and I’m getting the same thing.

      Lots of the following in the UI logs.

      { name: 'couldnt_find_person', message: '' }
      { name: 'couldnt_find_post', message: '' }
      {
        name: 'unknown',
        message: 'Query deserialize error: invalid digit found in string'
      }
      {
        name: 'unknown',
        message: 'Query deserialize error: invalid digit found in string'
      }
      { name: 'couldnt_find_post', message: '' }
      { name: 'couldnt_find_post', message: '' }
      

      However, Photon’s alternative UI works fine.

        • frozen@lemmy.frozeninferno.xyz
          link
          fedilink
          English
          arrow-up
          1
          ·
          6 days ago

          Below is my current dockerfile, which is using 0.19.11 right now to fix the issue. The issue happens when I switch to 0.19.12.

          networks:
            # communication to web and clients
            lemmyexternalproxy:
            lemmybridge:
            # communication between lemmy services
            lemmyinternal:
              driver: bridge
              internal: true
          
          services:
            photon:
              image: ghcr.io/xyphyn/photon:latest
              networks:
                - lemmyexternalproxy
                - lemmyinternal
              ports:
                - 8080:3000
              environment:
                - PUBLIC_INSTANCE_URL=lemmy.frozeninferno.xyz
                - PUBLIC_LOCK_TO_INSTANCE=true
                - PUBLIC_DEFAULT_COMMENT_SORT=Top
                - PUBLIC_FULL_WIDTH_LAYOUT=true
                - PUBLIC_DEFAULT_FEED=Subscribed
              restart: unless-stopped
              depends_on:
                - lemmy
                - lemmy-ui
          
            proxy:
              image: nginx:1-alpine
              networks:
                - lemmyinternal
                - lemmyexternalproxy
              ports:
                # only ports facing any connection from outside
                - 8880:80
                - 8843:443
              volumes:
                - ./nginx.conf:/etc/nginx/nginx.conf:ro
                # setup your certbot and letsencrypt config
                - ./certbot:/var/www/certbot
                - ./letsencrypt:/etc/letsencrypt/live
              restart: unless-stopped
              depends_on:
                - pictrs
                - lemmy-ui
          
            lemmy:
              image: dessalines/lemmy:0.19.11
              hostname: lemmy
              networks:
                - lemmyinternal``
                - lemmybridge
              ports:
                - 8536:8536
              restart: unless-stopped
              environment:
                - RUST_LOG="warn,lemmy_server=info,lemmy_api=info,lemmy_api_common=info,lemmy_api_crud=info,lemmy_apub=info,lemmy_db_schema=info,lemmy_db_views=info,lemmy_db_views_actor=info,lemmy_db_views_moderator=info,lemmy_routes=info,lemmy_utils=info,lemmy_websocket=info"
              volumes:
                - ./lemmy.hjson:/config/config.hjson
              depends_on:
                - postgres
                - pictrs
          
            lemmy-ui:
              image: dessalines/lemmy-ui:0.19.11
              networks:
                - lemmyinternal
                - lemmybridge
              ports:
                - 1234:1234
              environment:
                # this needs to match the hostname defined in the lemmy service
                - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy:8536
                # set the outside hostname here
                - LEMMY_UI_LEMMY_EXTERNAL_HOST=192.168.0.10:1236
                - LEMMY_UI_HOST=lemmy-ui:1234
                - LEMMY_HTTPS=true
              depends_on:
                - lemmy
              restart: unless-stopped
          
            pictrs:
              image: asonix/pictrs:0.5
              # this needs to match the pictrs url in lemmy.hjson
              hostname: pictrs
              # we can set options to pictrs like this, here we set max. image size and forced format for conversion
              # entrypoint: /sbin/tini -- /usr/local/bin/pict-rs -p /mnt -m 4 --image-format webp
              networks:
                - lemmyinternal
                - lemmybridge
              environment:
                - PICTRS__API_KEY=API_KEY
                - RUST_BACKTRACE=full
                - PICTRS__UPGRADE__CONCURRENCY=256
                - PICTRS__OLD_REPO__PATH=/mnt/sled-repo
                - PICTRS__REPO__TYPE=postgres
                - PICTRS__REPO__URL=postgres://lemmy:<censored>@postgres:5432/pictrs
              user: 991:991
              volumes:
                - ./pictrs:/mnt
              restart: unless-stopped
          
            postgres:
              image: postgres:16-alpine
              # this needs to match the database host in lemmy.hson
              hostname: postgres
              networks:
                - lemmyinternal
              environment:
                - POSTGRES_USER=lemmy
                - POSTGRES_PASSWORD=<censored>
                - POSTGRES_DB=lemmy
              volumes:
                - ./postgres:/var/lib/postgresql/data
              restart: unless-stopped
              shm_size: 12gb
          
            adminer:
              image: adminer
              restart: always
              networks:
                - lemmyinternal
                - lemmyexternalproxy
              ports:
                - 10000:8080