POST https://kbin.spritesserver.nl/f/inbox

Messages

Ordered list of dispatched messages across all your buses

"App\Message\ActivityPub\Inbox\ActivityMessage"
Caller In SharedInboxController.php line
Bus messenger.bus.default
Message
App\Message\ActivityPub\Inbox\ActivityMessage {#353
  +payload: "{"@context":["https://join-lemmy.org/context.json","https://www.w3.org/ns/activitystreams"],"actor":"https://lemmy.world/c/selfhosted","to":["https://www.w3.org/ns/activitystreams#Public"],"object":{"id":"https://palaver.p3x.de/activities/update/JQAp2InEC2TmENn","actor":"https://palaver.p3x.de/u/hendrik","type":"Update","object":{"id":"https://palaver.p3x.de/comment/1533022","url":"https://palaver.p3x.de/comment/1533022","type":"Note","attributedTo":"https://palaver.p3x.de/u/hendrik","to":["https://www.w3.org/ns/activitystreams#Public"],"cc":["https://lemmy.world/c/selfhosted","https://lemm.ee/u/Octavusss"],"tag":[{"href":"https://lemm.ee/u/Octavusss","name":"@Octavusss@lemm.ee","type":"Mention"}],"audience":"https://lemmy.world/c/selfhosted","content":"<p>Maybe have a look at <a href=\"https://nginxproxymanager.com\" rel=\"nofollow ugc\" target=\"_blank\">https://nginxproxymanager.com</a> as well. I don't know how difficult it is to install since I never used it, but I heard it has a relatively straight-forward graphical interface.</p>\n<p>Configuring good old plain nginx isn't super complicated. It depends a bit on your specific setup, though. Generally, you'd put config files into <code>/etc/nginx/sites-available/servicexyz</code> (or put it in the <code>default</code>)</p>\n<pre><code>server {\n    listen 80;\n    server_name jellyfin.yourdomain.com;\n    return 301 <a href=\"https://$server_name$request_uri;\" rel=\"nofollow ugc\" target=\"_blank\">https://$server_name$request_uri;</a>\n}\n\nserver {\n    listen 443 ssl;\n    server_name jellyfin.yourdomain.com;\n\n    ssl_certificate /etc/ssl/certs/your_ssl_certificate.crt;\n    ssl_certificate_key /etc/ssl/private/your_private_key.key;\n    ssl_protocols TLSv1.2 TLSv1.3;\n    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';\n    ssl_prefer_server_ciphers on;\n    ssl_session_cache shared:SSL:10m;\n\n    location / {\n        proxy_pass <a href=\"http://127.0.0.1:8096;\" rel=\"nofollow ugc\" target=\"_blank\">http://127.0.0.1:8096;</a>\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection 'upgrade';\n        proxy_set_header Host $host;\n        proxy_cache_bypass $http_upgrade;\n    }\n\n    access_log /var/log/nginx/jellyfin.yourdomain_access.log;\n    error_log /var/log/nginx/jellyfin.yourdomain_error.log;\n}\n</code></pre>\n<p>It's a bit tricky to search for tutorials these days... I got that from: <a href=\"https://linuxconfig.org/setting-up-nginx-reverse-proxy-server-on-debian-linux\" rel=\"nofollow ugc\" target=\"_blank\">https://linuxconfig.org/setting-up-nginx-reverse-proxy-server-on-debian-linux</a></p>\n<p>Jellyfin would then take all requests addressed at jellyfin.yourdomain.com and forward that to your Jellyfin which hopefully runs on port 8096. You'd use a similar file like this for each service, just adapt them to the internal port and domain.</p>\n<p>You can also have all of this on a single domain (and not sub-domains). That'd be the difference between \"jellyfin.yourdomain.com\" and \"yourdomain.com/jellyfin\". That's accomplished with one file with a single \"server\" block in it, but make it several \"location\" blocks within, like <code>location /jellyfin</code> </p>\n<p>Alright, now that I wrote it down, it certainly requires some knowledge. If that's too much and all the other people here recommend Caddy, maybe have a look at that as well. It seems to be packaged in Debian, too.</p>\n<p>Edit: Oh yes, and you probably want to set up Letsencrypt so you connect securely to your services. The reverse proxy would be responsible for encryption.</p>\n","mediaType":"text/html","source":{"content":"Maybe have a look at https://nginxproxymanager.com as well. I don't know how difficult it is to install since I never used it, but I heard it has a relatively straight-forward graphical interface.  \r\n\r\nConfiguring good old plain nginx isn't super complicated. It depends a bit on your specific setup, though. Generally, you'd put config files into `/etc/nginx/sites-available/servicexyz` (or put it in the `default`)  \r\n\r\n```  \r\nserver {  \r\n    listen 80;  \r\n    server_name jellyfin.yourdomain.com;  \r\n    return 301 https://$server_name$request_uri;  \r\n}  \r\n\r\nserver {  \r\n    listen 443 ssl;  \r\n    server_name jellyfin.yourdomain.com;  \r\n\r\n    ssl_certificate /etc/ssl/certs/your_ssl_certificate.crt;  \r\n    ssl_certificate_key /etc/ssl/private/your_private_key.key;  \r\n    ssl_protocols TLSv1.2 TLSv1.3;  \r\n    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';  \r\n    ssl_prefer_server_ciphers on;  \r\n    ssl_session_cache shared:SSL:10m;  \r\n\r\n    location / {  \r\n        proxy_pass http://127.0.0.1:8096;  \r\n        proxy_http_version 1.1;  \r\n        proxy_set_header Upgrade $http_upgrade;  \r\n        proxy_set_header Connection 'upgrade';  \r\n        proxy_set_header Host $host;  \r\n        proxy_cache_bypass $http_upgrade;  \r\n    }  \r\n\r\n    access_log /var/log/nginx/jellyfin.yourdomain_access.log;  \r\n    error_log /var/log/nginx/jellyfin.yourdomain_error.log;  \r\n}  \r\n```  \r\n\r\nIt's a bit tricky to search for tutorials these days... I got that from: https://linuxconfig.org/setting-up-nginx-reverse-proxy-server-on-debian-linux  \r\n\r\nJellyfin would then take all requests addressed at jellyfin.yourdomain.com and forward that to your Jellyfin which hopefully runs on port 8096. You'd use a similar file like this for each service, just adapt them to the internal port and domain.  \r\n\r\nYou can also have all of this on a single domain (and not sub-domains). That'd be the difference between \"jellyfin.yourdomain.com\" and \"yourdomain.com/jellyfin\". That's accomplished with one file with a single \"server\" block in it, but make it several \"location\" blocks within, like `location /jellyfin` \r\n\r\nAlright, now that I wrote it down, it certainly requires some knowledge. If that's too much and all the other people here recommend Caddy, maybe have a look at that as well. It seems to be packaged in Debian, too.  \r\n\r\nEdit: Oh yes, and you probably want to set up Letsencrypt so you connect securely to your services. The reverse proxy would be responsible for encryption.","mediaType":"text/markdown"},"inReplyTo":"https://lemm.ee/comment/20540873","published":"2025-05-19T13:45:11.930958+00:00","language":{"identifier":"en","name":"English"},"contentMap":{"en":"<p>Maybe have a look at <a href=\"https://nginxproxymanager.com\" rel=\"nofollow ugc\" target=\"_blank\">https://nginxproxymanager.com</a> as well. I don't know how difficult it is to install since I never used it, but I heard it has a relatively straight-forward graphical interface.</p>\n<p>Configuring good old plain nginx isn't super complicated. It depends a bit on your specific setup, though. Generally, you'd put config files into <code>/etc/nginx/sites-available/servicexyz</code> (or put it in the <code>default</code>)</p>\n<pre><code>server {\n    listen 80;\n    server_name jellyfin.yourdomain.com;\n    return 301 <a href=\"https://$server_name$request_uri;\" rel=\"nofollow ugc\" target=\"_blank\">https://$server_name$request_uri;</a>\n}\n\nserver {\n    listen 443 ssl;\n    server_name jellyfin.yourdomain.com;\n\n    ssl_certificate /etc/ssl/certs/your_ssl_certificate.crt;\n    ssl_certificate_key /etc/ssl/private/your_private_key.key;\n    ssl_protocols TLSv1.2 TLSv1.3;\n    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';\n    ssl_prefer_server_ciphers on;\n    ssl_session_cache shared:SSL:10m;\n\n    location / {\n        proxy_pass <a href=\"http://127.0.0.1:8096;\" rel=\"nofollow ugc\" target=\"_blank\">http://127.0.0.1:8096;</a>\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection 'upgrade';\n        proxy_set_header Host $host;\n        proxy_cache_bypass $http_upgrade;\n    }\n\n    access_log /var/log/nginx/jellyfin.yourdomain_access.log;\n    error_log /var/log/nginx/jellyfin.yourdomain_error.log;\n}\n</code></pre>\n<p>It's a bit tricky to search for tutorials these days... I got that from: <a href=\"https://linuxconfig.org/setting-up-nginx-reverse-proxy-server-on-debian-linux\" rel=\"nofollow ugc\" target=\"_blank\">https://linuxconfig.org/setting-up-nginx-reverse-proxy-server-on-debian-linux</a></p>\n<p>Jellyfin would then take all requests addressed at jellyfin.yourdomain.com and forward that to your Jellyfin which hopefully runs on port 8096. You'd use a similar file like this for each service, just adapt them to the internal port and domain.</p>\n<p>You can also have all of this on a single domain (and not sub-domains). That'd be the difference between \"jellyfin.yourdomain.com\" and \"yourdomain.com/jellyfin\". That's accomplished with one file with a single \"server\" block in it, but make it several \"location\" blocks within, like <code>location /jellyfin</code> </p>\n<p>Alright, now that I wrote it down, it certainly requires some knowledge. If that's too much and all the other people here recommend Caddy, maybe have a look at that as well. It seems to be packaged in Debian, too.</p>\n<p>Edit: Oh yes, and you probably want to set up Letsencrypt so you connect securely to your services. The reverse proxy would be responsible for encryption.</p>\n"},"distinguished":false,"flair":"","updated":"2025-05-19T13:46:42.406560+00:00"},"to":["https://www.w3.org/ns/activitystreams#Public"],"cc":["https://lemmy.world/c/selfhosted","https://lemm.ee/u/Octavusss"],"@context":["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1"],"audience":"https://lemmy.world/c/selfhosted"},"cc":["https://lemmy.world/c/selfhosted/followers"],"type":"Announce","id":"https://lemmy.world/activities/announce/update/12d1e5cb-f333-47c6-80b4-872ec170a2da"}"
  +request: [
    "host" => "kbin.spritesserver.nl"
    "method" => "POST"
    "uri" => "/f/inbox"
    "client_ip" => "135.181.143.221"
  ]
  +headers: [
    "content-type" => [
      "application/activity+json"
    ]
    "host" => [
      "kbin.spritesserver.nl"
    ]
    "date" => [
      "Mon, 19 May 2025 13:46:45 GMT"
    ]
    "digest" => [
      "SHA-256=doouC4ARBIcep47NBcIFnFAe7PjatiCtn8KpbTES4XQ="
    ]
    "signature" => [
      "keyId="https://lemmy.world/c/selfhosted#main-key",algorithm="hs2019",headers="(request-target) content-type date digest host",signature="o4Mag4EutOR4eNbd2GgdV5JwOWDPtoXn1jxSnun7ekLkp6pi2g0U915bgOlkZrfWgdRtvQAT+JSvbF6atq3OyH+XmAaHN1BRdCZuRqWRYByjmf6iSdAEsQ6MIa/AiLvzysGWMLbFEe9M/ncyoNwEDMSmWy69hKrsQ1eAT+kI5lHd8I/obGnzq0yylvWoduMdZlF9FkdgOjYSl/w9negadJ7j59woMAAkgh4IFCllHtUnu+Tut0v8rZOGTTomXtgzibbiwcf8d3fEwD1DXgqZ1qCiQzmzzSfya7fmtiSBADH6G24X7QqqDBMEhke2SMHXCNQGViqPGidzM0dDjpXeDg==""
    ]
    "traceparent" => [
      "00-c0d05ded3e8d15857724a1023208f769-97585aa8219b1053-01"
    ]
    "tracestate" => [
      ""
    ]
    "accept" => [
      "*/*"
    ]
    "user-agent" => [
      "Lemmy/0.19.11-19-g2895f45e8; +https://lemmy.world"
    ]
    "accept-encoding" => [
      "gzip"
    ]
    "content-length" => [
      "10098"
    ]
    "x-php-ob-level" => [
      "1"
    ]
  ]
}
Envelope stamps when dispatching No items
Envelope stamps after dispatch
Symfony\Component\Messenger\Stamp\BusNameStamp {#343
  -busName: "messenger.bus.default"
}
Symfony\Component\Messenger\Stamp\SentStamp {#268
  -senderClass: "Symfony\Component\Messenger\Bridge\Doctrine\Transport\DoctrineTransport"
  -senderAlias: "async_ap"
}
Symfony\Component\Messenger\Stamp\TransportMessageIdStamp {#227
  -id: "56655598"
}