[GH-ISSUE #2242] Self Host / No Upload #646

Open
opened 2026-02-26 18:47:54 +03:00 by kerem · 13 comments
Owner

Originally created by @cyberdott on GitHub (Nov 25, 2025).
Original GitHub issue: https://github.com/documenso/documenso/issues/2242

Issue Description

I'm trying to get documenso working. It seems to be working fine so far, but unfortunately I can't upload any documents. The log doesn't really tell me anything... What can I check/do? Thanks!

message (1).txt

This is interestting / last line -> fetch failed: connect ECONNREFUSED 127.0.1.1:443

Steps to Reproduce

Upload a Document

Expected Behavior

No response

Current Behavior

No response

Screenshots (optional)

Image

Operating System [e.g., Windows 10]

Debian 12 / LXC

Browser [e.g., Chrome, Firefox]

No response

Version [e.g., 2.0.1]

2.0.14

Please check the boxes that apply to this issue report.

  • I have searched the existing issues to make sure this is not a duplicate.
  • I have provided steps to reproduce the issue.
  • I have included relevant environment information.
  • I have included any relevant screenshots.
  • I understand that this is a voluntary contribution and that there is no guarantee of resolution.
  • I want to work on creating a PR for this issue if approved
Originally created by @cyberdott on GitHub (Nov 25, 2025). Original GitHub issue: https://github.com/documenso/documenso/issues/2242 ### Issue Description I'm trying to get documenso working. It seems to be working fine so far, but unfortunately I can't upload any documents. The log doesn't really tell me anything... What can I check/do? Thanks! [message (1).txt](https://github.com/user-attachments/files/23740678/message.1.txt) This is interestting / last line -> fetch failed: connect ECONNREFUSED 127.0.1.1:443 ### Steps to Reproduce Upload a Document ### Expected Behavior _No response_ ### Current Behavior _No response_ ### Screenshots (optional) <img width="398" height="124" alt="Image" src="https://github.com/user-attachments/assets/5e87fb64-7f0c-4934-8ebe-b6808a16c1d4" /> ### Operating System [e.g., Windows 10] Debian 12 / LXC ### Browser [e.g., Chrome, Firefox] _No response_ ### Version [e.g., 2.0.1] 2.0.14 ### Please check the boxes that apply to this issue report. - [x] I have searched the existing issues to make sure this is not a duplicate. - [x] I have provided steps to reproduce the issue. - [x] I have included relevant environment information. - [x] I have included any relevant screenshots. - [x] I understand that this is a voluntary contribution and that there is no guarantee of resolution. - [ ] I want to work on creating a PR for this issue if approved
Author
Owner

@github-actions[bot] commented on GitHub (Nov 25, 2025):

Thank you for opening your first issue and for being a part of the open signing revolution!

One of our team members will review it and get back to you as soon as it possible 💚

Meanwhile, please feel free to hop into our community in Discord

<!-- gh-comment-id:3574086112 --> @github-actions[bot] commented on GitHub (Nov 25, 2025): Thank you for opening your first issue and for being a part of the open signing revolution! <br /> One of our team members will review it and get back to you as soon as it possible 💚 <br /> Meanwhile, please feel free to hop into our community in [Discord](https://documen.so/discord)
Author
Owner

@RHDHV-simon-sutcliffe commented on GitHub (Nov 25, 2025):

@cyberdott I think this could be the issue. Not sure if you have installed it directly or are using a docker container but I have found the issue you mention when this VAR is not configured correctly

NEXT_PRIVATE_INTERNAL_WEBAPP_URL: http://localhost:3000

<!-- gh-comment-id:3574269881 --> @RHDHV-simon-sutcliffe commented on GitHub (Nov 25, 2025): @cyberdott I think this could be the issue. Not sure if you have installed it directly or are using a docker container but I have found the issue you mention when this VAR is not configured correctly NEXT_PRIVATE_INTERNAL_WEBAPP_URL: http://localhost:3000
Author
Owner

@cyberdott commented on GitHub (Nov 25, 2025):

Here is my current config (.env):
URLS
NEXT_PUBLIC_WEBAPP_URL='https://signatur.nalogo*******.de'
NEXT_PRIVATE_INTERNAL_WEBAPP_URL="http://localhost:3000"
NEXTAUTH_URL="https://signatur.nalogo*******.de"

Why is there sometimes a ' or a " ? Does it make a difference?

Unfortunately, the error is still the same:

Nov 25 11:03:09 signatur turbo[5844]: @documenso/remix:start: {"level":50,"time":1764064989701,"pid":5966,"hostname":"signatur","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0","requestId":"xwe1rmvh1gsa0xms0o9wj","status":"error","appError":{"code":"UNKNOWN_ERROR","message":"fetch failed"},"err":{"type":"TRPCError","message":"fetch failed: fetch failed: connect ECONNREFUSED 127.0.1.1:443"

I don't understand why he's trying to connect on port 443. Shouldn't it be port 3000?

<!-- gh-comment-id:3574839956 --> @cyberdott commented on GitHub (Nov 25, 2025): Here is my current config (.env): [[URLS]] NEXT_PUBLIC_WEBAPP_URL='https://signatur.nalogo*******.de' NEXT_PRIVATE_INTERNAL_WEBAPP_URL="http://localhost:3000" NEXTAUTH_URL="https://signatur.nalogo*******.de" Why is there sometimes a ' or a " ? Does it make a difference? Unfortunately, the error is still the same: Nov 25 11:03:09 signatur turbo[5844]: @documenso/remix:start: {"level":50,"time":1764064989701,"pid":5966,"hostname":"signatur","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0","requestId":"xwe1rmvh1gsa0xms0o9wj","status":"error","appError":{"code":"UNKNOWN_ERROR","message":"fetch failed"},"err":{"type":"TRPCError","message":"fetch failed: fetch failed: connect ECONNREFUSED 127.0.1.1:443" I don't understand why he's trying to connect on port 443. Shouldn't it be port 3000?
Author
Owner

@RHDHV-simon-sutcliffe commented on GitHub (Nov 25, 2025):

I think we I need a little more info. Can you provide the docker-compose and full env clearing our secrets and masking domains please.

<!-- gh-comment-id:3575398044 --> @RHDHV-simon-sutcliffe commented on GitHub (Nov 25, 2025): I think we I need a little more info. Can you provide the docker-compose and full env clearing our secrets and masking domains please.
Author
Owner

@cyberdott commented on GitHub (Nov 25, 2025):

Config
.env.txt
Debian Service
documenso.service.txt
Install-Skript
documenso-install.sh.txt

I installed Documenso as an LXC container within Proxmox using the Proxmox helper script. The container runs behind an OPNsense HAproxy.

<!-- gh-comment-id:3575741682 --> @cyberdott commented on GitHub (Nov 25, 2025): Config [.env.txt](https://github.com/user-attachments/files/23747974/default.env.txt) Debian Service [documenso.service.txt](https://github.com/user-attachments/files/23747978/documenso.service.txt) Install-Skript [documenso-install.sh.txt](https://github.com/user-attachments/files/23748017/documenso-install.sh.txt) I installed Documenso as an LXC container within Proxmox using the Proxmox helper script. The container runs behind an OPNsense HAproxy.
Author
Owner

@cyberdott commented on GitHub (Nov 26, 2025):

I'd be interested to know what kind of connection he's actually trying to make here. Database or node/web? Port 443 is in my opinion definitely not correct...

root@:/opt/documenso# netstat -ntlp | grep LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:
LISTEN 351/master
tcp 0 0 127.0.0.1:5432 0.0.0.0:
LISTEN 197/postgres
tcp6 0 0 ::1:25 :::
LISTEN 351/master
tcp6 0 0 ::1:5432 :::
LISTEN 197/postgres
tcp6 0 0 :::22 :::
LISTEN 1/init
tcp6 0 0 :::3000 :::
LISTEN 6213/node

Is it correct that port 3000 is not displayed as IPv4/tcp? I only see tcp6 here.

<!-- gh-comment-id:3580314706 --> @cyberdott commented on GitHub (Nov 26, 2025): I'd be interested to know what kind of connection he's actually trying to make here. Database or node/web? Port 443 is in my opinion definitely not correct... root@******:/opt/documenso# netstat -ntlp | grep LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 351/master tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 197/postgres tcp6 0 0 ::1:25 :::* LISTEN 351/master tcp6 0 0 ::1:5432 :::* LISTEN 197/postgres tcp6 0 0 :::22 :::* LISTEN 1/init tcp6 0 0 :::3000 :::* LISTEN 6213/node Is it correct that port 3000 is not displayed as IPv4/tcp? I only see tcp6 here.
Author
Owner

@cyberdott commented on GitHub (Nov 26, 2025):

Ok, IPv4/6 is not an Problem:

root@:/opt/documenso# curl "http://[::1]:3000" -i
HTTP/1.1 302 Found
location: /signin
content-type: text/plain; charset=UTF-8
Date: Wed, 26 Nov 2025 09:26:17 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked

root@signatur:/opt/documenso# curl http://localhost:3000 -i
HTTP/1.1 302 Found
location: /signin
content-type: text/plain; charset=UTF-8
Date: Wed, 26 Nov 2025 09:27:44 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked

<!-- gh-comment-id:3580417011 --> @cyberdott commented on GitHub (Nov 26, 2025): Ok, IPv4/6 is not an Problem: root@:/opt/documenso# curl "http://[::1]:3000" -i HTTP/1.1 302 Found location: /signin content-type: text/plain; charset=UTF-8 Date: Wed, 26 Nov 2025 09:26:17 GMT Connection: keep-alive Keep-Alive: timeout=5 Transfer-Encoding: chunked root@signatur:/opt/documenso# curl http://localhost:3000 -i HTTP/1.1 302 Found location: /signin content-type: text/plain; charset=UTF-8 Date: Wed, 26 Nov 2025 09:27:44 GMT Connection: keep-alive Keep-Alive: timeout=5 Transfer-Encoding: chunked
Author
Owner

@HectorPeeters commented on GitHub (Dec 2, 2025):

I'm experiencing the same issue. For me the failing fetch is happening at github.com/documenso/documenso@0dfa953f54/packages/lib/server-only/pdf/flatten-form.ts (L32C1-L32C88).

const fontNoto = await fetch(`${NEXT_PUBLIC_WEBAPP_URL()}/fonts/noto-sans.ttf`)

This runs only on the server in packages/lib/server-only/pdf/flatten-form.ts so I assume this should use the NEXT_PRIVATE_INTERNAL_WEBAPP_URL variable instead. Or maybe even load the file straight from the filesystem.

<!-- gh-comment-id:3602656731 --> @HectorPeeters commented on GitHub (Dec 2, 2025): I'm experiencing the same issue. For me the failing fetch is happening at https://github.com/documenso/documenso/blob/0dfa953f544ff7b93e206c6797fbbc2ba5bd897a/packages/lib/server-only/pdf/flatten-form.ts#L32C1-L32C88. ```ts const fontNoto = await fetch(`${NEXT_PUBLIC_WEBAPP_URL()}/fonts/noto-sans.ttf`) ``` This runs only on the server in `packages/lib/server-only/pdf/flatten-form.ts` so I assume this should use the `NEXT_PRIVATE_INTERNAL_WEBAPP_URL` variable instead. Or maybe even load the file straight from the filesystem.
Author
Owner

@goetz79 commented on GitHub (Dec 4, 2025):

I could work through this and get it to work by adding in compose.yml an extra host under documenso:

extra_host:
-":host-gateway"

with that the 127.0.1.1:443 I saw in the error log disappeared.

<!-- gh-comment-id:3614719332 --> @goetz79 commented on GitHub (Dec 4, 2025): I could work through this and get it to work by adding in compose.yml an extra host under documenso: extra_host: -"<publichostname>:host-gateway" with that the 127.0.1.1:443 I saw in the error log disappeared.
Author
Owner

@cyberdott commented on GitHub (Dec 5, 2025):

That sounds good! Where do I need to change/adjust this if I'm not using Docker?

<!-- gh-comment-id:3615755795 --> @cyberdott commented on GitHub (Dec 5, 2025): That sounds good! Where do I need to change/adjust this if I'm not using Docker?
Author
Owner

@goetz79 commented on GitHub (Dec 6, 2025):

That sounds good! Where do I need to change/adjust this if I'm not using Docker?

I can't help you with that. Basically what I created was a self-reference inside the docker container so it would resolve the public URL to itself; my understanding is that docker when it can't resolve will use 127.0.1.1 which is then a dead end. not sure how to handle that directly on the machine but probably search with your environment how you could replicate that local redirect for the public URL

<!-- gh-comment-id:3619162546 --> @goetz79 commented on GitHub (Dec 6, 2025): > That sounds good! Where do I need to change/adjust this if I'm not using Docker? I can't help you with that. Basically what I created was a self-reference inside the docker container so it would resolve the public URL to itself; my understanding is that docker when it can't resolve will use 127.0.1.1 which is then a dead end. not sure how to handle that directly on the machine but probably search with your environment how you could replicate that local redirect for the public URL
Author
Owner

@Mythie commented on GitHub (Dec 6, 2025):

Config .env.txt Debian Service documenso.service.txt Install-Skript documenso-install.sh.txt

I installed Documenso as an LXC container within Proxmox using the Proxmox helper script. The container runs behind an OPNsense HAproxy.

See https://github.com/Mythie/proxmox-scripts/pull/1 which handles proxmox by using Docker instead, hopefully it'll make most of these issues go away.

<!-- gh-comment-id:3619528528 --> @Mythie commented on GitHub (Dec 6, 2025): > Config [.env.txt](https://github.com/user-attachments/files/23747974/default.env.txt) Debian Service [documenso.service.txt](https://github.com/user-attachments/files/23747978/documenso.service.txt) Install-Skript [documenso-install.sh.txt](https://github.com/user-attachments/files/23748017/documenso-install.sh.txt) > > I installed Documenso as an LXC container within Proxmox using the Proxmox helper script. The container runs behind an OPNsense HAproxy. See https://github.com/Mythie/proxmox-scripts/pull/1 which handles proxmox by using Docker instead, hopefully it'll make most of these issues go away.
Author
Owner

@Mythie commented on GitHub (Dec 6, 2025):

I'm experiencing the same issue. For me the failing fetch is happening at 0dfa953/packages/lib/server-only/pdf/flatten-form.ts#L32C1-L32C88.

const fontNoto = await fetch(${NEXT_PUBLIC_WEBAPP_URL()}/fonts/noto-sans.ttf)

This runs only on the server in packages/lib/server-only/pdf/flatten-form.ts so I assume this should use the NEXT_PRIVATE_INTERNAL_WEBAPP_URL variable instead. Or maybe even load the file straight from the filesystem.

Sounds annoying, I've created a PR here https://github.com/documenso/documenso/pull/2290

<!-- gh-comment-id:3619534105 --> @Mythie commented on GitHub (Dec 6, 2025): > I'm experiencing the same issue. For me the failing fetch is happening at [`0dfa953`/packages/lib/server-only/pdf/flatten-form.ts#L32C1-L32C88](https://github.com/documenso/documenso/blob/0dfa953f544ff7b93e206c6797fbbc2ba5bd897a/packages/lib/server-only/pdf/flatten-form.ts#L32C1-L32C88). > > const fontNoto = await fetch(`${NEXT_PUBLIC_WEBAPP_URL()}/fonts/noto-sans.ttf`) > > This runs only on the server in `packages/lib/server-only/pdf/flatten-form.ts` so I assume this should use the `NEXT_PRIVATE_INTERNAL_WEBAPP_URL` variable instead. Or maybe even load the file straight from the filesystem. Sounds annoying, I've created a PR here https://github.com/documenso/documenso/pull/2290
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/documenso#646
No description provided.