Hi all. Hoping someone in the #SelfHosting community can help. I’m trying to set up #Linkwarden in #Docker behind #Caddy. The service is running, but I’m unable to create a user account. This is what I see in my browser console when I try:

register:1 [Intervention] Images loaded lazily and replaced with placeholders. Load events are deferred. See https://go.microsoft.com/fwlink/?linkid=2048113register%3A1 [DOM] Input elements should have autocomplete attributes (suggested: "new-password"): (More info: https://www.chromium.org/developers/design-documents/create-amazing-password-forms) <input data-testid=​"password-input" type=​"password" placeholder=​"••••••••••••••" class=​"w-full rounded-md p-2 border-neutral-content border-solid border outline-none focus:​border-primary duration-100 bg-base-100" value=​"tyq5ghp!QVH-mva1agc">register:1 [DOM] Input elements should have autocomplete attributes (suggested: "new-password"): (More info: https://www.chromium.org/developers/design-documents/create-amazing-password-forms) <input data-testid=​"password-confirm-input" type=​"password" placeholder=​"••••••••••••••" class=​"w-full rounded-md p-2 border-neutral-content border-solid border outline-none focus:​border-primary duration-100 bg-base-100" value=​"tyq5ghp!QVH-mva1agc">Errorapi/v1/users:1 Request unavailable in the network panel, try reloading the inspected page Failed to load resource: the server responded with a status of 400 () Failed to load resource: the server responded with a status of 400 ()

compose file:

services:  postgres:    image: postgres:16-alpine    container_name: linkwarden_postgres    env_file: .env    restart: always    volumes:      - ./pgdata:/var/lib/postgresql/data    networks:      - linkwarden_net  linkwarden:    env_file: .env    environment:      - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@linkwarden_postgres:5432/postgres    restart: always    # build: . # uncomment this line to build from source    image: ghcr.io/linkwarden/linkwarden:latest # comment this line to build from source    container_name: linkwarden    ports:      - 3009:3000    volumes:      - ./data:/data/data    networks:      - linkwarden_net    depends_on:      - postgresnetworks:  linkwarden_net:    driver: bridge

Relevant part of .env file:

NEXTAUTH_URL=https://bookmarks.laniecarmelo.tech/api/v1/authNEXTAUTH_SECRET=x8az9q9w8ofAxnrVcer2vsPHeMmKSPbf Manual installation database settings# Example: DATABASE_URL=postgresql://user:password@localhost:5432/linkwardenDATABASE_URL= Docker installation database settingsPOSTGRES_PASSWORD=redacted# Additional Optional SettingsPAGINATION_TAKE_COUNT=STORAGE_FOLDER=AUTOSCROLL_TIMEOUT=NEXT_PUBLIC_DISABLE_REGISTRATION=falseNEXT_PUBLIC_CREDENTIALS_ENABLED=true

Caddyfile snippet

*.laniecarmelo.tech {    tls redacted {        dns cloudflare redacted    }    header {        Content-Security-Policy "default-src 'self' https: 'unsafe-inline' 'unsafe-eval';             img-src https: data:;             font-src 'self' https: data:;             frame-src 'self' https:;             object-src 'none'"        Referrer-Policy "strict-origin-when-cross-origin"        Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"        X-Content-Type-Options "nosniff"        X-Xss-Protection "1; mode=block"    }    encode br gzip    # Bookmarks    @bookmarks host bookmarks.laniecarmelo.tech    handle @bookmarks {        reverse_proxy 127.0.0.1:3009    }}

Can anyone help? I have no idea how to fix this.
#SelfHosted #CaddyServer #Linux #Tech #Technology
@selfhost @selfhosted @selfhosting

  • Lanie Molinar Carmelo@allovertheplace.caOP
    link
    fedilink
    arrow-up
    0
    arrow-down
    1
    ·
    20 hours ago

    @just_another_person No error that I can see:
    [0] Warning: For production Image Optimization with Next.js, the optional ‘sharp’ package is strongly recommended. Run ‘yarn add sharp’, and Next.js will use it automatically for Image Optimization.
    [0] Read more: https://nextjs.org/docs/messages/sharp-missing-in-production
    [lanie@stormux linkwarden] $ docker logs linkwarden
    [0] Warning: For production Image Optimization with Next.js, the optional ‘sharp’ package is strongly recommended. Run ‘yarn add sharp’, and Next.js will use it automatically for Image Optimization.
    [0] Read more: https://nextjs.org/docs/messages/sharp-missing-in-production

    • just_another_person@lemmy.world
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      edit-2
      20 hours ago

      These seem like startup logs. Start the server, make a request, and then see if this output changes.

      Edit: oh wait, I see you have custom domain stuff happening in there. I’m guaranteeing this is because the server instance is having issues with your personal domain. Check that wherever the server is running can access whatever hostname and port you have there for your auth.

      I’m also positive these errors are being logged somewhere. What you posted is not the meat of the issue.

        • just_another_person@lemmy.world
          link
          fedilink
          arrow-up
          1
          arrow-down
          1
          ·
          20 hours ago

          Yeah, but you have a wildcard in your caddy file. Does your SSL cert respond to wildcard requests? One of these services logs has the real issue logged.

          • Lanie Molinar Carmelo@allovertheplace.caOP
            link
            fedilink
            arrow-up
            0
            ·
            19 hours ago

            @just_another_person All I knowthat all of my other services work fine. Nothing changes in the docker logs but when I click the sign up button this shows up in the console.
            Error
            POST https://bookmarks.laniecarmelo.tech/api/v1/users 400 (Bad Request) Stack table collapsed
            t.js:1 Click to open the network panel and show request for URL: https://bookmarks.laniecarmelo.tech/api/v1/users Failed to load resource: the server responded with a status of 400 () POST https://bookmarks.laniecarmelo.tech/api/v1/users 400 (Bad Request)
            [Violation] Added non-passive event listener to a scroll-blocking ‘wheel’ event. Consider marking event handler as ‘passive’ to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952 Stack table collapsed
            menu.js:6 [Violation] Added non-passive event listener to a scroll-blocking ‘wheel’ event. Consider marking event handler as ‘passive’ to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952
            [Violation] Added non-passive event listener to a scroll-blocking ‘wheel’ event. Consider marking event handler as ‘passive’ to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952 Stack table collapsed
            menu.js:6 [Violation] Added non-passive event listener to a scroll-blocking ‘wheel’ event. Consider marking event handler as ‘passive’ to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952
            [Violation] Forced reflow while executing JavaScript took 30ms
            menu.js:6 [Violation] Added non-passive event listener to a scroll-blocking ‘wheel’ event. Consider marking event handler as ‘passive’ to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952

            I can try taking the services out of the wildcard block and see if that helps.

            • just_another_person@lemmy.world
              link
              fedilink
              arrow-up
              1
              arrow-down
              1
              ·
              19 hours ago

              Don’t look at the browser, look at the service logs. Turn on debug if needed. You’re only seeing one side of the conversation.

              • Lanie Molinar Carmelo@allovertheplace.caOP
                link
                fedilink
                arrow-up
                0
                ·
                19 hours ago

                @just_another_person These latest logs are from the service in docker, not the browser.

                linkwarden03/08/202508:02:06 PM[0]   code: 'ERR_STREAM_WRITE_AFTER_END'linkwarden03/08/202508:02:06 PM[0] }linkwarden03/08/202508:02:06 PM[0] linkwarden03/08/202508:02:06 PM[0] Node.js v18.18.2linkwarden03/08/202508:02:18 PM[0] Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the clientlinkwarden03/08/202508:02:18 PM[0]     at new NodeError (node:internal/errors:405:5)linkwarden03/08/202508:02:18 PM[0]     at ServerResponse.setHeader (node:_http_outgoing:648:11)linkwarden03/08/202508:02:18 PM[0]     at _res.setHeader (/data/node_modules/next/dist/server/base-server.js:306:24)linkwarden03/08/202508:02:18 PM[0]     at sendJson (/data/node_modules/next/dist/server/api-utils/node.js:226:9)linkwarden03/08/202508:02:18 PM[0]     at apiRes.json (/data/node_modules/next/dist/server/api-utils/node.js:445:31)linkwarden03/08/202508:02:18 PM[0]     at users (/data/.next/server/pages/api/v1/users.js:325:43)linkwarden03/08/202508:02:18 PM[0]     at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {linkwarden03/08/202508:02:18 PM[0]   code: 'ERR_HTTP_HEADERS_SENT'linkwarden03/08/202508:02:18 PM[0] }linkwarden03/08/202508:02:18 PM[0] node:events:495linkwarden03/08/202508:02:18 PM[0]       throw er; // Unhandled 'error' eventlinkwarden03/08/202508:02:18 PM[0]       ^linkwarden03/08/202508:02:18 PM[0] linkwarden03/08/202508:02:18 PM[0] Error [ERR_STREAM_WRITE_AFTER_END]: write after endlinkwarden03/08/202508:02:18 PM[0]     at new NodeError (node:internal/errors:405:5)linkwarden03/08/202508:02:18 PM[0]     at ServerResponse.end (node:_http_outgoing:1017:15)linkwarden03/08/202508:02:18 PM[0]     at ServerResponse.end (/data/node_modules/next/dist/compiled/compression/index.js:22:783)linkwarden03/08/202508:02:18 PM[0]     at apiRes.end (/data/node_modules/next/dist/server/api-utils/node.js:441:32)linkwarden03/08/202508:02:18 PM[0]     at sendError (/data/node_modules/next/dist/server/api-utils/index.js:165:9)linkwarden03/08/202508:02:18 PM[0]     at apiResolver (/data/node_modules/next/dist/server/api-utils/node.js:489:34)linkwarden03/08/202508:02:18 PM[0]     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)linkwarden03/08/202508:02:18 PM[0]     at async NextNodeServer.runApi (/data/node_modules/next/dist/server/next-server.js:674:9)linkwarden03/08/202508:02:18 PM[0]     at async Object.fn (/data/node_modules/next/dist/server/next-server.js:1141:35)linkwarden03/08/202508:02:18 PM[0]     at async Router.execute (/data/node_modules/next/dist/server/router.js:315:32)linkwarden03/08/202508:02:18 PM[0] Emitted 'error' event on ServerResponse instance at:linkwarden03/08/202508:02:18 PM[0]     at emitErrorNt (node:_http_outgoing:853:9)linkwarden03/08/202508:02:18 PM[0]     at process.processTicksAndRejections (node:internal/process/task_queues:83:21) {linkwarden03/08/202508:02:18 PM[0]   code: 'ERR_STREAM_WRITE_AFTER_END'linkwarden03/08/202508:02:18 PM[0] }linkwarden03/08/202508:02:18 PM[0] linkwarden03/08/202508:02:18 PM[0] Node.js v18.18.2linkwarden03/08/202508:04:20 PM[0] Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the clientlinkwarden03/08/202508:04:20 PM[0]     at new NodeError (node:internal/errors:405:5)linkwarden03/08/202508:04:20 PM[0]     at ServerResponse.setHeader (node:_http_outgoing:648:11)linkwarden03/08/202508:04:20 PM[0]     at _res.setHeader (/data/node_modules/next/dist/server/base-server.js:306:24)linkwarden03/08/202508:04:20 PM[0]     at sendJson (/data/node_modules/next/dist/server/api-utils/node.js:226:9)linkwarden03/08/202508:04:20 PM[0]     at apiRes.json (/data/node_modules/next/dist/server/api-utils/node.js:445:31)linkwarden03/08/202508:04:20 PM[0]     at users (/data/.next/server/pages/api/v1/users.js:325:43)linkwarden03/08/202508:04:20 PM[0]     at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {linkwarden03/08/202508:04:20 PM[0]   code: 'ERR_HTTP_HEADERS_SENT'linkwarden03/08/202508:04:20 PM[0] }linkwarden03/08/202508:04:20 PM[0] node:events:495linkwarden03/08/202508:04:20 PM[0]       throw er; // Unhandled 'error' eventlinkwarden03/08/202508:04:20 PM[0]       ^linkwarden03/08/202508:04:20 PM[0] linkwarden03/08/202508:04:20 PM[0] Error [ERR_STREAM_WRITE_AFTER_END]: write after endlinkwarden03/08/202508:04:20 PM[0]     at new NodeError (node:internal/errors:405:5)linkwarden03/08/202508:04:20 PM[0]     at ServerResponse.end (node:_http_outgoing:1017:15)linkwarden03/08/202508:04:20 PM[0]     at ServerResponse.end (/data/node_modules/next/dist/compiled/compression/index.js:22:783)linkwarden03/08/202508:04:20 PM[0]     at apiRes.end (/data/node_modules/next/dist/server/api-utils/node.js:441:32)linkwarden03/08/202508:04:20 PM[0]     at sendError (/data/node_modules/next/dist/server/api-utils/index.js:165:9)linkwarden03/08/202508:04:20 PM[0]     at apiResolver (/data/node_modules/next/dist/server/api-utils/node.js:489:34)linkwarden03/08/202508:04:20 PM[0]     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)linkwarden03/08/202508:04:20 PM[0]     at async NextNodeServer.runApi (/data/node_modules/next/dist/server/next-server.js:674:9)linkwarden03/08/202508:04:20 PM[0]     at async Object.fn (/data/node_modules/next/dist/server/next-server.js:1141:35)linkwarden03/08/202508:04:20 PM[0]     at async Router.execute (/data/node_modules/next/dist/server/router.js:315:32)linkwarden03/08/202508:04:20 PM[0] Emitted 'error' event on ServerResponse instance at:linkwarden03/08/202508:04:20 PM[0]     at emitErrorNt (node:_http_outgoing:853:9)linkwarden03/08/202508:04:20 PM[0]     at process.processTicksAndRejections (node:internal/process/task_queues:83:21) {linkwarden03/08/202508:04:20 PM[0]   code: 'ERR_STREAM_WRITE_AFTER_END'linkwarden03/08/202508:04:20 PM[0] }linkwarden03/08/202508:04:20 PM[0] linkwarden03/08/202508:04:20 PM[0] Node.js v18.18.2linkwarden03/08/202508:08:11 PM[0] Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the clientlinkwarden03/08/202508:08:11 PM[0]     at new NodeError (node:internal/errors:405:5)linkwarden03/08/202508:08:11 PM[0]     at ServerResponse.setHeader (node:_http_outgoing:648:11)linkwarden03/08/202508:08:11 PM[0]     at _res.setHeader (/data/node_modules/next/dist/server/base-server.js:306:24)linkwarden03/08/202508:08:11 PM[0]     at sendJson (/data/node_modules/next/dist/server/api-utils/node.js:226:9)linkwarden03/08/202508:08:11 PM[0]     at apiRes.json (/data/node_modules/next/dist/server/api-utils/node.js:445:31)linkwarden03/08/202508:08:11 PM[0]     at users (/data/.next/server/pages/api/v1/users.js:325:43)linkwarden03/08/202508:08:11 PM[0]     at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {linkwarden03/08/202508:08:11 PM[0]   code: 'ERR_HTTP_HEADERS_SENT'linkwarden03/08/202508:08:11 PM[0] }linkwarden03/08/202508:08:11 PM[0] node:events:495linkwarden03/08/202508:08:11 PM[0]       throw er; // Unhandled 'error' eventlinkwarden03/08/202508:08:11 PM[0]       ^linkwarden03/08/202508:08:11 PM[0] linkwarden03/08/202508:08:11 PM[0] Error [ERR_STREAM_WRITE_AFTER_END]: write after endlinkwarden03/08/202508:08:11 PM[0]     at new NodeError (node:internal/errors:405:5)linkwarden03/08/202508:08:11 PM[0]     at ServerResponse.end (node:_http_outgoing:1017:15)linkwarden03/08/202508:08:11 PM[0]     at ServerResponse.end (/data/node_modules/next/dist/compiled/compression/index.js:22:783)linkwarden03/08/202508:08:11 PM[0]     at apiRes.end (/data/node_modules/next/dist/server/api-utils/node.js:441:32)linkwarden03/08/202508:08:11 PM[0]     at sendError (/data/node_modules/next/dist/server/api-utils/index.js:165:9)linkwarden03/08/202508:08:11 PM[0]     at apiResolver (/data/node_modules/next/dist/server/api-utils/node.js:489:34)linkwarden03/08/202508:08:11 PM[0]     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)linkwarden03/08/202508:08:11 PM[0]     at async NextNodeServer.runApi (/data/node_modules/next/dist/server/next-server.js:674:9)linkwarden03/08/202508:08:11 PM[0]     at async Object.fn (/data/node_modules/next/dist/server/next-server.js:1141:35)linkwarden03/08/202508:08:11 PM[0]     at async Router.execute (/data/node_modules/next/dist/server/router.js:315:32)linkwarden03/08/202508:08:11 PM[0] Emitted 'error' event on ServerResponse instance at:linkwarden03/08/202508:08:11 PM[0]     at emitErrorNt (node:_http_outgoing:853:9)linkwarden03/08/202508:08:11 PM[0]     at process.processTicksAndRejections (node:internal/process/task_queues:83:21) {linkwarden03/08/202508:08:11 PM[0]   code: 'ERR_STREAM_WRITE_AFTER_END'linkwarden03/08/202508:08:11 PM[0] }linkwarden03/08/202508:08:11 PM[0] linkwarden03/08/202508:08:11 PM[0] Node.js v18.18.2linkwarden03/08/202508:14:32 PM[0] Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the clientlinkwarden03/08/202508:14:32 PM[0]     at new NodeError (node:internal/errors:405:5)linkwarden03/08/202508:14:32 PM[0]     at ServerResponse.setHeader (node:_http_outgoing:648:11)linkwarden03/08/202508:14:32 PM[0]     at _res.setHeader (/data/node_modules/next/dist/server/base-server.js:306:24)linkwarden03/08/202508:14:32 PM[0]     at sendJson (/data/node_modules/next/dist/server/api-utils/node.js:226:9)linkwarden03/08/202508:14:32 PM[0]     at apiRes.json (/data/node_modules/next/dist/server/api-utils/node.js:445:31)linkwarden03/08/202508:14:32 PM[0]     at users (/data/.next/server/pages/api/v1/users.js:325:43)linkwarden03/08/202508:14:32 PM[0]     at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {linkwarden03/08/202508:14:32 PM[0]   code: 'ERR_HTTP_HEADERS_SENT'linkwarden03/08/202508:14:32 PM[0] }linkwarden03/08/202508:14:32 PM[0] node:events:495linkwarden03/08/202508:14:32 PM[0]       throw er; // Unhandled 'error' eventlinkwarden03/08/202508:14:32 PM[0]       ^linkwarden03/08/202508:14:32 PM[0] linkwarden03/08/202508:14:32 PM[0] Error [ERR_STREAM_WRITE_AFTER_END]: write after endlinkwarden03/08/202508:14:32 PM[0]     at new NodeError (node:internal/errors:405:5)linkwarden03/08/202508:14:32 PM[0]     at ServerResponse.end (node:_http_outgoing:1017:15)linkwarden03/08/202508:14:32 PM[0]     at ServerResponse.end (/data/node_modules/next/dist/compiled/compression/index.js:22:783)linkwarden03/08/202508:14:32 PM[0]     at apiRes.end (/data/node_modules/next/dist/server/api-utils/node.js:441:32)linkwarden03/08/202508:14:32 PM[0]     at sendError (/data/node_modules/next/dist/server/api-utils/index.js:165:9)linkwarden03/08/202508:14:32 PM[0]     at apiResolver (/data/node_modules/next/dist/server/api-utils/node.js:489:34)linkwarden03/08/202508:14:32 PM[0]     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)linkwarden03/08/202508:14:32 PM[0]     at async NextNodeServer.runApi (/data/node_modules/next/dist/server/next-server.js:674:9)linkwarden03/08/202508:14:32 PM[0]     at async Object.fn (/data/node_modules/next/dist/server/next-server.js:1141:35)linkwarden03/08/202508:14:32 PM[0]     at async Router.execute (/data/node_modules/next/dist/server/router.js:315:32)linkwarden03/08/202508:14:32 PM[0] Emitted 'error' event on ServerResponse instance at:linkwarden03/08/202508:14:32 PM[0]     at emitErrorNt (node:_http_outgoing:853:9)linkwarden03/08/202508:14:32 PM[0]     at process.processTicksAndRejections (node:internal/process/task_queues:83:21) {linkwarden03/08/202508:14:32 PM[0]   code: 'ERR_STREAM_WRITE_AFTER_END'linkwarden03/08/202508:14:32 PM[0] }linkwarden03/08/202508:14:32 PM[0] linkwarden03/08/202508:14:32 PM[0] Node.js v18.18.2linkwarden03/08/202508:14:32 PM[0] Error: socket hang uplinkwarden03/08/202508:14:32 PM[0]     at connResetException (node:internal/errors:720:14)linkwarden03/08/202508:14:32 PM[0]     at Socket.socketOnEnd (node:_http_client:525:23)linkwarden03/08/202508:14:32 PM[0]     at Socket.emit (node:events:529:35)linkwarden03/08/202508:14:32 PM[0]     at endReadableNT (node:internal/streams/readable:1368:12)linkwarden03/08/202508:14:32 PM[0]     at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {linkwarden03/08/202508:14:32 PM[0]   code: 'ECONNRESET'linkwarden03/08/202508:14:32 PM[0] }linkwarden03/08/202508:14:32 PM[0] Error: socket hang uplinkwarden03/08/202508:14:32 PM[0]     at connResetException (node:internal/errors:720:14)linkwarden03/08/202508:14:32 PM[0]     at Socket.socketOnEnd (node:_http_client:525:23)linkwarden03/08/202508:14:32 PM[0]     at Socket.emit (node:events:529:35)linkwarden03/08/202508:14:32 PM[0]     at endReadableNT (node:internal/streams/readable:1368:12)linkwarden03/08/202508:14:32 PM[0]     at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {linkwarden03/08/202508:14:32 PM[0]   code: 'ECONNRESET'linkwarden03/08/202508:14:32 PM[0] }linkwarden03/08/202508:14:32 PM[0] Error: socket hang uplinkwarden03/08/202508:14:32 PM[0]     at connResetException (node:internal/errors:720:14)linkwarden03/08/202508:14:32 PM[0]     at Socket.socketOnEnd (node:_http_client:525:23)linkwarden03/08/202508:14:32 PM[0]     at Socket.emit (node:events:529:35)linkwarden03/08/202508:14:32 PM[0]     at endReadableNT (node:internal/streams/readable:1368:12)linkwarden03/08/202508:14:32 PM[0]     at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {linkwarden03/08/202508:14:32 PM[0]   code: 'ECONNRESET'linkwarden03/08/202508:14:32 PM[0] }