On this page
Short answers to the questions people ask most. If yours isn’t here, troubleshooting covers specific errors, and you can ask in the issue tracker.
How is this different from mkcert?#
mkcert creates locally trusted certificates. You still have to configure DNS (or /etc/hosts) and a server or
proxy for each name. lokal does names, certificates and routing together, and its CA is name-constrained, so it
can only sign .lokal and .local names.
Does it work with Docker?#
Yes, for ports you publish on your Mac. With docker run -p 8080:80 …, run lokal service add app 8080.
Containers can’t resolve lokal’s names themselves.
Can I open my dev URLs on my phone or another computer?#
Not yet. lokal listens only on loopback by design. A LAN mode is on the roadmap.
Does it edit /etc/hosts?#
No. lokal doctor warns if /etc/hosts has an entry that conflicts with a lokal name.
Why only .lokal and .local, and not .test or .internal?#
The CA is trusted system-wide, so it’s constrained to exactly the TLDs lokal serves. Adding .test or .internal
would let a leaked key sign names that companies use for real internal hosts. The
security model explains the name constraints.
Why does setup ask for my password twice?#
Once is sudo in Terminal. The second time is a macOS dialog, because macOS asks separately before it changes certificate trust settings. Setting up lokal lists the exact commands setup runs with sudo.
Is it macOS only?#
Yes, for now. lokal v0.1 needs macOS 14 Sonoma or later. It’s tested on Apple Silicon. Intel builds are
published, but they haven’t been tested on an Intel Mac yet. There are no Linux or Windows builds. The code is
structured so that support for them can be added later. Linux support is on the roadmap, and
PORTING.md collects what each OS would need.
What’s the license?#
lokal is licensed under the Apache License, Version 2.0. Unless you explicitly state otherwise, any contribution you intentionally submit for inclusion in lokal, as defined in the Apache-2.0 license, is licensed the same way, without any additional terms or conditions.