docs / help

FAQ

Short answers to common questions about lokal, from mkcert and Docker to platforms and the license.

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.