xmmk
xmmk2d ago

[Self-Hosted] What is the recommended way to run ZITADEL for local development of web and mobile app

I’m struggling to run a local ZITADEL instance that works for the iOS simulator, the Android emulator, and all browsers on the web — so that I can develop my cross-platform Flutter app against it. Right now, this mainly fails because of the fixed ZITADEL_EXTERNALDOMAIN and the fixed base URIs. For local development, it shouldn’t really matter which domain I use to access the service. At the moment, the only option I see is using something like ngrok, but even then the domain changes from time to time. I also haven’t figured out how to change the LOGINV2_BASEURI in Docker Compose (or without the admin UI) if the domain changes, to be able to login again. Since I’ve never seen this limitation in other systems, and my use case isn’t exactly an edge case, I’m wondering if I’m missing some configuration options. Here are my current findings: • localhost doesn’t work for iOS or Safari, because Login V2 requires HTTPS. A proxy using 127.0.0.1.sslip.io works. • 127.0.0.1.sslip.io doesn’t work in the Android emulator, since it uses 10.0.2.2 as the host machine. Using 10.0.2.2.sslip.io as issuer doesn’t work either, because ZITADEL is configured for 127.0.0.1.sslip.io. • On real mobile test devices, 127.0.0.1.sslip.io also doesn’t work.
1 Reply
Ask Inkeep
Ask Inkeep2d ago
Hi @xmmk, I'm an AI assistant for ZITADEL. While a team member reviews this question, I'll see if I can find relevant sources for your question. Answer I wasn't able to find a direct answer, here are some relevant sources: 1. Set up Zitadel with Docker Compose : Contains the basic Docker Compose setup with configuration options for external domain and login v2 base URI settings. 2. External ZITADEL Access : Explains how ZITADEL handles external domains and the requirement to rerun the setup phase when changing ExternalDomain, ExternalPort or ExternalSecure configuration. Feel free to tag @Ask Inkeep with additional questions.

Did you find this page helpful?