I’ve been testing this and it’s the real deal!
mcmxci
My account on lemmy.one has federated fine with kbin.social. My personal lemmy instance doesn't. I think it's a version issue, but you get full access both ways.
!community@instance or /c/community@instance on updated instances. /c/[email protected] [email protected]
Hasn't Kubernetes already replaced master-slave with master/manager-worker? Seems like there are plenty of alternatives.
In addition to all of the answers here, development costs for protocols like ActivityPub can be partially offset by grants by organizations like W3C that work to build open standards.
This is incredible. How much money did they spend on a terminal ad?
Same, I have completely integrate WSL into my workflow. I use devcontainers with VScode and docker in WSL directly skipping docker in windows. It's great
Sorry, for some reason I didn't see your comment. Ibracorp has a pretty good review of the compose plugin. My docker-compose file. I'll have to sanitize my nginx file before posting. I'll try to get to it tonight.
I ended posting my docker-compose file in another thread, thought I should link it here: https://mimiclem.me/comment/10555
This tool works great! Thanks for your work on this
I was able to get it running with the docker compose CA app and minimal changes to the official docker-compose file (docs). I'm running swag in front of the lemmy proxy with no issues with federation. Ibracorp's tutorial can help with the compose plugin
You'll need to make sure the volume locations and ports are appropriate for your unraid install. You'll also have to update your domain in the compose file. I'm running swag so I needed to make a new reverse proxy configuration per the official docs.
My compose file is below:
version: "3.7"
x-logging: &default-logging
driver: "json-file"
options:
max-size: "50m"
max-file: 4
networks:
# communication to web and clients
lemmyexternalproxy:
name: proxynet
external: true
# communication between lemmy services
lemmyinternal:
driver: bridge
internal: true
services:
proxy:
image: nginx:1-alpine
networks:
- lemmyinternal
- lemmyexternalproxy
ports:
# actual and only port facing any connection from outside
# Note, change the left number if port 1236 is already in use on your system
# You could use port 80 if you won't use a reverse proxy
- "8536:8536"
volumes:
#- nginx.conf:/etc/nginx/nginx.conf:ro,Z
- /mnt/user/appdata/lemmy-nginx/nginx.conf:/etc/nginx/nginx.conf:ro
restart: always
depends_on:
- pictrs
- lemmy-ui
logging: *default-logging
lemmy:
image: dessalines/lemmy:0.18.0
#image: dessalines/lemmy:dev
# use this to build your local lemmy server image for development
# run docker compose up --build
# build:
# context: ../
# dockerfile: docker/Dockerfile
# args:
# RUST_RELEASE_MODE: release
# this hostname is used in nginx reverse proxy and also for lemmy ui to connect to the backend, do not change
hostname: lemmy
networks:
- lemmyinternal
- lemmyexternalproxy
restart: always
environment:
- RUST_LOG="warn,lemmy_server=debug,lemmy_api=debug,lemmy_api_common=debug,lemmy_api_crud=debug,lemmy_apub=debug,lemmy_db_schema=debug,lemmy_db_views=debug,lemmy_db_views_actor=debug,lemmy_db_views_moderator=debug,lemmy_routes=debug,lemmy_utils=debug,lemmy_websocket=debug"
- RUST_BACKTRACE=full
- LEMMY_CORS_ORIGIN=<domain>
volumes:
- /mnt/user/appdata/lemmy/lemmy.hjson:/config/config.hjson
depends_on:
- postgres
- pictrs
logging: *default-logging
lemmy-ui:
#image: dessalines/lemmy-ui:latest
image: dessalines/lemmy-ui:0.18.0
# use this to build your local lemmy ui image for development
# run docker compose up --build
# assuming lemmy-ui is cloned besides lemmy directory
# build:
# context: ../../lemmy-ui
# dockerfile: dev.dockerfile
networks:
- lemmyinternal
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=localhost:1236
- LEMMY_UI_LEMMY_EXTERNAL_HOST=<domain>
- LEMMY_HTTPS=false
- LEMMY_UI_DEBUG=true
depends_on:
- lemmy
restart: always
logging: *default-logging
init: true
pictrs:
image: asonix/pictrs:0.4.0-rc.7
# 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
environment:
- PICTRS_OPENTELEMETRY_URL=http://otel:4137
- PICTRS__API_KEY=API_KEY
- RUST_LOG=debug
- RUST_BACKTRACE=full
- PICTRS__MEDIA__VIDEO_CODEC=vp9
- PICTRS__MEDIA__GIF__MAX_WIDTH=256
- PICTRS__MEDIA__GIF__MAX_HEIGHT=256
- PICTRS__MEDIA__GIF__MAX_AREA=65536
- PICTRS__MEDIA__GIF__MAX_FRAME_COUNT=400
user: 991:991
volumes:
- /mnt/user/appdata/lemmy-pictrs:/mnt
restart: always
logging: *default-logging
postgres:
image: postgres:15-alpine
# this needs to match the database host in lemmy.hson
# Tune your settings via
# https://pgtune.leopard.in.ua/#/
# You can use this technique to add them here
# https://stackoverflow.com/a/30850095/1655478
hostname: postgres
command:
[
"postgres",
"-c",
"session_preload_libraries=auto_explain",
"-c",
"auto_explain.log_min_duration=5ms",
"-c",
"auto_explain.log_analyze=true",
"-c",
"track_activity_query_size=1048576",
]
networks:
- lemmyinternal
# adding the external facing network to allow direct db access for devs
- lemmyexternalproxy
ports:
# use a different port so it doesnt conflict with potential postgres db running on the host
- "5433:5432"
environment:
- POSTGRES_USER=<strong-user>
- POSTGRES_PASSWORD=<strong-password>
- POSTGRES_DB=lemmy
volumes:
- /mnt/user/appdata/lemmy-postgres:/var/lib/postgresql/data
restart: always
logging: *default-logging
I use a reverse proxy so I still use a DNS name to access internally.