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.

  • 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