Skip Navigation
InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)TO
tom @lmmy.tvdl.dev
Posts 2
Comments 13
Hosting Lemmy with Traefik as a reverse proxy
  • In one of the updates, I noticed in the traefik dashboard that traefik was forwarding to a different port. So I added the following label in my web labels:

          - traefik.http.services.web-lemmy.loadbalancer.server.port=8536
    

    You might need to change the web-lemmy part to whatever the traefik service is named in your config.

  • Those who tried Linux and went back to Windows, what caused you to go back to Windows?
  • Programmer and big Linux fan here. I use Linux for multiple servers/vm's. For a while I also had Linux on my desktop and using a Windows VM with PCI-passtrough for gaming. It works. However I came to the conclusion I was only using the PC for gaming (on the VM), and doing all my programming on my MacBook. So basically the Linux part on my desktop was just useless. Although I want to, I don't have any use cases for Linux on the desktop.

    Edit: I do have a steamdeck. Love the thing!

  • Hosting Lemmy with Traefik as a reverse proxy

    cross-posted from: https://lmmy.tvdl.dev/post/259

    > In light of the ongoing Reddit blackout, many users are seeking alternative platforms to host their communities. One popular option is Lemmy, a self-hosted federated link aggregator. However, most of the available documentation on running Lemmy involves using Nginx or Caddy as a reverse proxy. If you're utilizing Traefik with docker-compose and docker labels on your server, this guide will walk you through the process of setting up a working Lemmy instance without the need for Nginx or Caddy. > > Step-by-Step Guide: > > 1. Docker Compose Configuration: > To begin, create a new docker-compose.yml file and include the necessary services for running Lemmy. Here's a sample configuration to get you started: > > yaml > version: "3.7" > > services: > web: > image: dessalines/lemmy:0.17.4 > restart: always > logging: > driver: journald > options: > tag: "{{.Name}}[{{.ID}}]" > 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: > - db > networks: > - default > - reverse_proxy > labels: > - traefik.enable=true > - traefik.http.routers.http_lemmyexamplecom.rule=Host(`lemmy.example.com`) && (PathPrefix(`/api`, `/pictrs`, `/feeds`, `/nodeinfo`, `/.well-known`) || Method(`POST`) || HeadersRegexp(`Accept`, `^[Aa]pplication/.*`)) > - traefik.http.routers.https_lemmyexamplecom.rule=Host(`lemmy.example.com`) && (PathPrefix(`/api`, `/pictrs`, `/feeds`, `/nodeinfo`, `/.well-known`) || Method(`POST`) || HeadersRegexp(`Accept`, `^[Aa]pplication/.*`)) > - traefik.http.routers.http_lemmyexamplecom.entrypoints=http > - traefik.http.routers.https_lemmyexamplecom.entrypoints=https > - traefik.http.routers.http_lemmyexamplecom.middlewares=https_redirect@file > - traefik.http.routers.https_lemmyexamplecom.tls.certresolver=letsencrypt > web-frontend: > image: dessalines/lemmy-ui:0.17.4 > environment: > - LEMMY_UI_LEMMY_INTERNAL_HOST=web:8536 > - LEMMY_UI_LEMMY_EXTERNAL_HOST=localhost:1236 > - LEMMY_HTTPS=true > depends_on: > - web > restart: always > logging: > driver: journald > options: > tag: "{{.Name}}[{{.ID}}]" > networks: > - default > - reverse_proxy > labels: > - traefik.enable=true > - traefik.http.routers.http_lemmyexamplecom_static.rule=Host(`lemmy.example.com`) > - traefik.http.routers.https_lemmyexamplecom_static.rule=Host(`lemmy.example.com`) > - traefik.http.routers.http_lemmyexamplecom_static.entrypoints=http > - traefik.http.routers.https_lemmyexamplecom_static.entrypoints=https > - traefik.http.routers.http_lemmyexamplecom_static.middlewares=https_redirect@file > - traefik.http.routers.https_lemmyexamplecom_static.tls.certresolver=letsencrypt > db: > image: postgres:15-alpine > hostname: db > environment: > - POSTGRES_USER=lemmy > - POSTGRES_PASSWORD=password > volumes: > - db:/var/lib/postgresql/data > restart: always > logging: > driver: journald > options: > tag: "{{.Name}}[{{.ID}}]" > networks: > - default > > networks: > reverse_proxy: > external: true > > volumes: > db: > > > 2. Adjust Hostname: > Remember to replace the placeholder hostname in the configuration with the actual hostname of your server. This ensures that Lemmy is accessible via the correct URL. > Start Lemmy: Save the changes to your docker-compose.yml file and execute the following command in the terminal to start Lemmy: > > bash > docker-compose up -d > > > 3. Verify Lemmy's Availability: > Once the containers are up and running, access your Lemmy instance by navigating to the URL associated with your server's hostname. > > Please note that the instructions provided here assume a basic understanding of Docker, Traefik, and server administration. Adjustments may be necessary based on your specific setup and requirements. > > edit: Also note that this is for version 0.17.4. In case a new version releases you need to change the tag for both lemmy and lemmy-ui

    5
    Blog @lmmy.tvdl.dev tom @lmmy.tvdl.dev

    Hosting Lemmy with Traefik as a reverse proxy

    In light of the ongoing Reddit blackout, many users are seeking alternative platforms to host their communities. One popular option is Lemmy, a self-hosted federated link aggregator. However, most of the available documentation on running Lemmy involves using Nginx or Caddy as a reverse proxy. If you're utilizing Traefik with docker-compose and docker labels on your server, this guide will walk you through the process of setting up a working Lemmy instance without the need for Nginx or Caddy.

    Step-by-Step Guide:

    1. Docker Compose Configuration: To begin, create a new docker-compose.yml file and include the necessary services for running Lemmy. Here's a sample configuration to get you started:

      ```yaml version: "3.7"

      services: web: image: dessalines/lemmy:0.17.4 restart: always logging: driver: journald options: tag: "{{.Name}}[{{.ID}}]" 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: - db networks: - default - reverse_proxy labels: - traefik.enable=true - traefik.http.routers.http_lemmyexamplecom.rule=Host(lemmy.example.com) && (PathPrefix(/api, /pictrs, /feeds, /nodeinfo, /.well-known) || Method(POST) || HeadersRegexp(Accept, ^[Aa]pplication/.*)) - traefik.http.routers.https_lemmyexamplecom.rule=Host(lemmy.example.com) && (PathPrefix(/api, /pictrs, /feeds, /nodeinfo, /.well-known) || Method(POST) || HeadersRegexp(Accept, ^[Aa]pplication/.*)) - traefik.http.routers.http_lemmyexamplecom.entrypoints=http - traefik.http.routers.https_lemmyexamplecom.entrypoints=https - traefik.http.routers.http_lemmyexamplecom.middlewares=https_redirect@file - traefik.http.routers.https_lemmyexamplecom.tls.certresolver=letsencrypt web-frontend: image: dessalines/lemmy-ui:0.17.4 environment: - LEMMY_UI_LEMMY_INTERNAL_HOST=web:8536 - LEMMY_UI_LEMMY_EXTERNAL_HOST=localhost:1236 - LEMMY_HTTPS=true depends_on: - web restart: always logging: driver: journald options: tag: "{{.Name}}[{{.ID}}]" networks: - default - reverse_proxy labels: - traefik.enable=true - traefik.http.routers.http_lemmyexamplecom_static.rule=Host(lemmy.example.com) - traefik.http.routers.https_lemmyexamplecom_static.rule=Host(lemmy.example.com) - traefik.http.routers.http_lemmyexamplecom_static.entrypoints=http - traefik.http.routers.https_lemmyexamplecom_static.entrypoints=https - traefik.http.routers.http_lemmyexamplecom_static.middlewares=https_redirect@file - traefik.http.routers.https_lemmyexamplecom_static.tls.certresolver=letsencrypt db: image: postgres:15-alpine hostname: db environment: - POSTGRES_USER=lemmy - POSTGRES_PASSWORD=password volumes: - db:/var/lib/postgresql/data restart: always logging: driver: journald options: tag: "{{.Name}}[{{.ID}}]" networks: - default

      networks: reverse_proxy: external: true

      volumes: db: ```

    2. Adjust Hostname: Remember to replace the placeholder hostname in the configuration with the actual hostname of your server. This ensures that Lemmy is accessible via the correct URL. Start Lemmy: Save the changes to your docker-compose.yml file and execute the following command in the terminal to start Lemmy:

      bash docker-compose up -d

    3. Verify Lemmy's Availability: Once the containers are up and running, access your Lemmy instance by navigating to the URL associated with your server's hostname.

    Please note that the instructions provided here assume a basic understanding of Docker, Traefik, and server administration. Adjustments may be necessary based on your specific setup and requirements.

    edit: Also note that this is for version 0.17.4. In case a new version releases you need to change the tag for both lemmy and lemmy-ui

    0