Hi,
I’ve been trying to host my own lemmy instance for a while. i’ve almost got it working (i think). But my problem now is that whenever i try to post something with a picture i get an error SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
.
In firefox i get a 502 bad gateway error pointing to https://lemmy.emphisia.nl/pictrs/image
I don’t really know why because everything seems to be working
Hmm not sure. The api-key ENV variable changed with pict-rs 0.4 to
PICTRS__SERVER__API_KEY
, maybe double-check that this is correctly updated and also the same as in your lemmy.hjson config file.the config in docker compose looks like
pictrs: image: asonix/pictrs:0.4.0 # this needs to match the pictrs url in lemmy.hjson hostname: 127.0.0.1 # 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 environment: - PICTRS_OPENTELEMETRY_URL=http://otel:4137 - PICTRS__SERVER__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
and in the config it is
pictrs: { url: "http://127.0.0.1:8080/" api_key: "****" }
the password on both is the same so i don’t see what is going wrong :(
I haven’t done this setup myself, but the hostname being 127.0.0.1 is suspect, especially since it mentions a pictrs URL config in lemmy.
yeah i changed that because i was testing. but i now realize that was dumb. ive change both the hostname and the url to pictrs. OMG that just worked… i feel so dumb rn. it is strange tho because that wasnt working before. Thanks for all the help :)
Well, did you try changing the 8080 port to rule that out?
hmm after looking i dont even see an option to change the port (in pictrs). it seems stuck at 8080, but since its running on its own network, i doubt it would matter.
just change the port the container exposes, like -p 8081:8080