Somehow I fall within all these categories
Ah that explains. Didn’t know he was renting the building.
You need to have permits to change signs on your own building?
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.
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!
I want to be in control over my own data. So I spun up my own instance
Great work! I find it by far the best Lemmy app on iOS atm
Favorite? Arch. However I am using Ubuntu on all my server systems. Currently don’t have any desktop Linux systems.
Regarding your edit. I haven't have this problem myself. Might be because of a slightly different setup.
Thanks! Good trick to know!
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
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:
-
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: - defaultnetworks: reverse_proxy: external: true
volumes: db: ```
-
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
-
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