// troubleshooting guide · penpot

Penpot Self-Hosted Stuck on localhost:9001

Status
Workaround available
platforms:
Self-hosted
updated:
November 15, 2026
reports:
2
Method
how we research
Share

RUNBOOK · penpot/self-hosted-public-uri-localhost3 FIXES

// quick answer

Set PENPOT_PUBLIC_URI to your HTTPS domain everywhere including the exporter, and add PENPOT_INTERNAL_URI.

Most likely fix: Fix URI settings

How to fix it

// try these in order, the most common fix is first

  1. FIX 1Fix URI settings

    1. 01Set PENPOT_PUBLIC_URI to the public HTTPS domain on frontend, backend and exporter
    2. 02Set PENPOT_INTERNAL_URI to http://penpot-frontend:8080 for the exporter
    Did this fix it?
  2. FIX 2Check proxy and WAF

    1. 01Allow application/transit+json on API paths
    2. 02Allow /ws/notifications websocket
    Did this fix it?
  3. FIX 3Object storage

    1. 01For Cloudflare R2 set PENPOT_OBJECTS_STORAGE_S3_REGION to auto
    Did this fix it?

Symptoms

Browser requests localhost:9001 behind a reverse proxy.

Why it happens

  • C-01Wrong PENPOT_PUBLIC_URI on exporter
  • C-02Reverse proxy WAF blocking requests
  • C-03Wrong S3 region for R2 storage

// this guide also covers

  • penpot localhost 9001
  • penpot reverse proxy caddy

Still not working?

If Penpot keeps failing, you're not alone. See every Penpot problem users report or the alternatives people switch to.

Have an app idea? Our small team builds any software: web and mobile apps, games, desktop, AI tools. Price agreed together.

Talk to us

Watch Penpot Get an email when its price changes, it has an outage, or we publish a new fix. No spam.

Fixed it? Share this guide

Other Penpot errors

All 10 Penpot errors and fixes →