Skip to content

馃悶 Bug: Pocket-id, APP_URL not respected聽#304

Closed

Description

@cvlc12

Bug Description

It seems that tailscale serves Pocket id to https://pocket-id.tld even if APP_URL is set to e.g. https://id.tld

Expected Behavior

app is accessible at APP_URL

Actual Behavior

app is available at pocket-id.tld

Screenshots

No response

Operating System

Linux

Tailscale Version

1.98.4

Docker Version

29.5.2

Relevant Logs or Error Messages

Docker Compose Configuration

Environment Configuration (.env file)

Additional Context

No response

Activity

  1. added theissue type on Jun 3, 2026
  2. self-assigned this
    on Jun 8, 2026
  3. jackspiering commented on Jun 8, 2026

    @jackspiering
    Collaborator

    Thank you @cvlc12 . I will check this out tonight.

  4. jackspiering commented on Jun 8, 2026

    @jackspiering
    Collaborator

    I could not figure it out yet, still investigating.

  5. cvlc12 commented on Jun 23, 2026

    @cvlc12
    ContributorAuthor

    no luck on this ?

  6. jackspiering commented on Oct 2, 2026

    @jackspiering
    Collaborator

    Sorry for the slow follow-up, @cvlc12. I reproduced this and found the cause.

    APP_URL does not control the name Tailscale serves on. The Tailscale machine name comes from SERVICE in .env (the sidecar uses hostname: ${SERVICE}), and Serve uses that machine's ts.net name. APP_URL only tells Pocket ID which URL to use for its own links, OIDC endpoints, and passkeys, so the two have to match by hand.

    With SERVICE=pocket-id and APP_URL=https://id.<tailnet>.ts.net, I get exactly what you describe: the app is served at https://pocket-id.<tailnet>.ts.net, while Pocket ID advertises https://id.<tailnet>.ts.net as its issuer.

    To run it at https://id.<tailnet>.ts.net:

    1. docker compose down
    2. Set SERVICE=id in .env and keep APP_URL=https://id.<tailnet>.ts.net
    3. Rename the data folder, because the volume path is ./${SERVICE}-data: mv pocket-id-data id-data
    4. docker compose up -d

    The existing machine is renamed in your tailnet, so you do not need a new auth key. If you would rather keep the machine name, set APP_URL=https://pocket-id.<tailnet>.ts.net instead.

    If id.tld is a custom domain rather than your tailnet name, Tailscale Serve cannot serve it; it only serves the machine's ts.net name.

    #352 documents this in the .env and the README.

  7. cvlc12 commented on Oct 2, 2026

    @cvlc12
    ContributorAuthor

    Thanks for following up on this !

    I'll try it out

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions