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.
youpie_temp
PICTRS__SERVER__API_KEY
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 :(
it does appear to be in its own network (according to portainer) the error log in the lemmy container is
2023-07-23T13:58:44.850844Z WARN lemmy_server::root_span_builder: Request error: error sending request for url (http://127.0.0.1:8080/image): error trying to connect: tcp connect error: Connection refused (os error 111)
Reqwest(reqwest::Error { kind: Request, url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Ipv4(127.0.0.1)), port: Some(8080), path: "/image", query: None, fragment: None }, source: hyper::Error(Connect, ConnectError("tcp connect error", Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })) })
no errors appear when i look at the pictrs log. I don't know why it says password: None
as i've set a password
yeah I've already done that, I did sudo chown -r 991:991 volumes/pictrs
.
what details do you need about my setup?
edit: I do know another program is already using port 8080 on my host machine, or does that not matter when it's running inside docker?
hi, apologies for the incredibly late response, i was on vacation. So as per the setup guide of lemmy. i am using two nginx instances. one i a lemmy internal nginx, running in a container which uses the nginx-internal config file. This exposes lemmy on port 8085. i then want to use a reverse proxy so that i can access the website on lemmy.emphisia.nl for that i use a second nginx running on the host machine. this one is the reverse proxy for all services i have running on the machine. (nextcloud, onlyoffice, bitmanager and lemmy)
I actually need the website to be hosted at 8085, as the nginx reverse proxy is listening at that adres, and it has already bound to port 80 and 443. When i open internal port 80 to 8085 and set the lemmy port to 8086 in the compose file. when i then visit the site i get a redirect loop. (im probably doing something horribly wrong). Also lemmy keeps panicking
thank you, the config now runs, unfortunately i am now getting a bad gateway when visiting the website.
Also in the logs i see two errors that catch my eye
thread 'main' panicked at 'Failed to load settings file, see documentation (https://join-lemmy.org/docs/en/administration/configuration.html): LemmyError { message: None, inner: Is a directory (os error 21), context: SpanTrace [] }', crates/utils/src/settings/mod.rs:20:20
and
caddy_1 | {"level":"error","ts":1688725909.314515,"logger":"http.acme_client","msg":"challenge failed","identifier":"lemmy.emphisia.nl","challenge_type":"http-01","problem":{"type":"","title":"","detail":"","instance":"","subproblems":[]}}
Also according to portainer, no ports are open on the caddy server. I have never used caddy. Thank you btw for trying to help me :))
thank you very much for your config file, however on pasting it and running it, i get the error
ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services.caddy: 'lemmy'
according to portainer, no other docker containers are using ports, so i don't know what ports to set them as. I assume they are communicating over an internal network and the nginx is the only open external port.
I am using two nginx servers because one nginx server is used by lemmy to give me one port to access. And the other one i use to set up my reverse proxy so that i can host more than one service on my server.
I dont know why i have different versions of the ui and backend. I am just using the latest version avalible on the docker website.
My docker compose file looks like this and the lemmy config file looks like this i got this config from here because i was looking for a way to correctly set-up my email because de documentation about the config file is really bad. But when using the default config file (found here).
I am actually already running that config in the internal nginx, but i've never changed anything about it. what do i need to specify when they say "# this needs to map to the lemmy (server) docker service hostname" do they want the name of the docker container, and do they want the internal or external port?
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 :)