chromozone

joined 1 year ago
[–] chromozone@lemmy.chromozone.dev -1 points 1 year ago (1 children)

Right I forgot the main Lemmy instance is filled with degenerate tankies. Go write more fan fiction about Lenin's (2nd btw) cat since you want to call out usernames so much lmfao

[–] chromozone@lemmy.chromozone.dev 0 points 1 year ago (3 children)

I disagree. Reading content online is inherently different from listening to someone speaking out loud. Internet discourse must be different in order for us to better understand each other. Tone and emotion do not come off well in text posts so we adjust our way of communicating accordingly.

I don't know why I bother though, you clearly have a problem with a large portion of society that has done nothing to harm you. The average person is not out to get you. Your anger at the middle class is exactly what the super rich want.

Does not appear to load at all on Opera GX

[–] chromozone@lemmy.chromozone.dev 2 points 1 year ago* (last edited 1 year ago)

The thing I struggled with the most was adapting the provided docker-compose.yml for my Caddy setup.

I am using caddy-docker-proxy, which I absolutely love but their documentation is not the greatest for matchers.

If anyone else wants a super basic Lemmy instance running on Caddy with their domain on Cloudflare here is a docker-compose.yml

Please make sure you update your lemmy.hjson hostname field to match the domain you used in the docker-compose.yml for the caddy labels

If you're not using Cloudflare you can replace build: . (and not use the Dockerfile I provided below) in the caddy service with image: lucaslorentz/caddy-docker-proxy:ci-alpine (and remove the caddy.acme_dns label) and I believe it will fall back to Let'sEncrypt

version: "3.9"

services:
  caddy:
    container_name: caddy
    build: .
    depends_on:
      - lemmy-ui
      - pictrs
    ports:
      - 80:80
      - 443:443
    environment:
      CADDY_INGRESS_NETWORKS: caddy
    networks:
      - caddy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /opt/docker/caddy/data:/data
      - /opt/docker/caddy/config:/config
    labels:
      caddy.log.format: console
      caddy.acme_dns: cloudflare YOUR_CLOUDFLARE_API_TOKEN
    restart: unless-stopped
  lemmy:
    container_name: lemmy
    image: dessalines/lemmy:0.17.3
    depends_on:
      - postgres
      - pictrs
    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"
    networks:
      - caddy
    volumes:
      - /opt/docker/lemmy/lemmy.hjson:/config/config.hjson:ro
    labels:
      caddy: "your.domain.com"
      caddy.@lemmy: path_regexp ^/(api|pictrs|feeds|nodeinfo|\.well-known)/.*$
      caddy.@post: method POST
      caddy.@accept: header Accept application/*
      caddy.reverse_proxy_1: "@lemmy {{upstreams 8536}}"
      caddy.reverse_proxy_2: "@post {{upstreams 8536}}"
      caddy.reverse_proxy_3: "@accept {{upstreams 8536}}"
    restart: unless-stopped
  lemmy-ui:
    container_name: lemmy-ui
    image: dessalines/lemmy-ui:0.17.3
    depends_on:
      - lemmy
    environment:
      LEMMY_UI_LEMMY_INTERNAL_HOST: lemmy:8536
      LEMMY_UI_LEMMY_EXTERNAL_HOST: localhost:1234
      LEMMY_HTTPS: true
    networks:
      - caddy
    labels:
      caddy: "your.domain.com"
      caddy.reverse_proxy: "{{upstreams 1234}}"
    restart: unless-stopped
  pictrs:
    container_name: pictrs
    image: asonix/pictrs:0.3.1
    environment:
      PICTRS__API_KEY: API_KEY
    user: 991:991
    volumes:
      - /opt/docker/pictrs:/mnt
    networks:
      - caddy
  postgres:
    container_name: postgres
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: lemmy
      POSTGRES_USER: lemmy
      POSTGRES_PASSWORD: password
    volumes:
      - /opt/docker/postgres:/var/lib/postgresql/data
    networks:
      - caddy
    restart: unless-stopped

networks:
  caddy:
    external: true

Here is the Dockerfile used for the caddy container:

ARG CADDY_VERSION=2.6.4

FROM caddy:${CADDY_VERSION}-builder AS builder

RUN xcaddy build \
    --with github.com/lucaslorentz/caddy-docker-proxy/v2@v2.8.4 \
    --with github.com/caddy-dns/cloudflare

FROM caddy:${CADDY_VERSION}-alpine

RUN apk add --no-cache tzdata

COPY --from=builder /usr/bin/caddy /usr/bin/caddy

CMD ["caddy", "docker-proxy"]

If you have Cloudflare you can set up an email alias for incoming email and then create a secondary Gmail address on top of your existing one if you go to 'Settings > Accounts and Import > Send mail as' and add another email address (not an alias). You will likely need to create a Gmail app password if you use 2FA.

If done it this way for a few services beyond Lemmy and it's worked well so far. This way you're also using a Gmail account technically so you can hopefully avoid blacklists and spam filters.

Well thankfully it doesn't matter what instance you are on for the most part 😅

I agree, I think we should be pushing for experiences people are already most familiar with first.