evertap

macOS

Run evertap on your Mac, with Docker Desktop, OrbStack, or Colima.

Check Docker

evertap needs macOS on Apple silicon or Intel, with Docker Desktop, OrbStack, or Colima running. evertap finds its socket on its own; if yours is elsewhere, set EVERTAP_DOCKER_SOCKET (Configuration).

Leave disk space for the images evertap downloads: about 400 MB for each PostgreSQL version and 800 to 900 MB for each MySQL version you use. Each MySQL database also takes about 210 MB before any data, as each runs a server of its own, and each MySQL version keeps one more such copy that new databases start from.

Run the install script

curl -fsSL https://evertap.dev/install.sh | sh

When it asks where it runs, answer 1:

Where is this?
  1) The machine that runs evertap (it needs Docker)
  2) A laptop or CI that connects to evertap on another machine

curl -fsSL https://evertap.dev/install.sh | sh

What it does on a Mac

  1. Asks where it runs: answer 1The machine that runs evertap
  2. Installs the binary/usr/local/bin/evertap
  3. Leaves starting evertap to youevertap serve

It downloads the build for your Mac from the latest GitHub release, checks it against the release's SHA256SUMS, and installs it as /usr/local/bin/evertap, asking for sudo if it needs it. The install script lists its settings.

Start evertap

Every connection to a database or bucket goes through the evertap serve process. Run it in a terminal, or in tmux so it outlives your session:

evertap serve

While it is stopped, the databases keep running in Docker but nothing reaches them. There is no launchd job, so start it again after the Mac restarts and after an upgrade.

Set up and sign in

On the Mac you develop on, choose This computer only: your apps on the Mac then reach the databases with nothing more to do.

On the machine running evertap, as the user that runs it, while it runs:

evertap setup

evertap setup

Where will you open evertap from?

  • This computer onlyApps on this computer connect directlyhttp://ev.internal:8080
  • Devices on your networkLaptops run evertap connecthttp://<this machine>:8080
  • Anywhere, through CloudflareLaptops run evertap connecthttps://evertap.example.com
  • Behind your own proxy or tunnelLaptops run evertap connecthttps://evertap.example.com

Until you run it, evertap listens on 127.0.0.1 alone, and no other machine can reach it (What listens where). Setup asks where you will open evertap from (Choose how evertap is reached), asks only what that choice needs, and applies it without a restart. Then it signs in your first browser:

  • For This computer only, it opens a signed-in browser on this machine.
  • For the others, it prints a one-time sign-in link and a QR code. Open the link in a browser, or scan the code with your phone. It signs in one browser and expires in 10 minutes.

Without a terminal, give the answers as flags, and setup asks nothing:

evertap setup --mode local                                                         # This computer only
evertap setup --mode network --listen 0.0.0.0                                      # Devices on your network
CLOUDFLARE_API_TOKEN=<token> evertap setup --mode cloudflare --zone example.com    # Anywhere, through Cloudflare
evertap setup --mode network --url https://evertap.example.com                     # Behind your own proxy or tunnel

Run evertap setup again to change your answers; it offers to keep the address you gave before. Once you are signed in, Settings in the UI can make the same changes, as long as they keep your browser connected.

Signing in later

  • A new browser shows a code. On a device that is signed in, open /device (Clients → Add a device) and enter it.
  • evertap signin-link, on the machine running evertap, prints another one-time link and QR code. Use it when no browser is signed in anymore.
  • evertap open, on the machine running evertap, opens a signed-in browser there.

Check it

evertap doctor

The Doctor, also a page in the UI, shows the Docker version and any warnings about it, the state of each service, whether each database and bucket entry answers, and which of your own Docker containers want the same ports.

Next, connect from your laptop. Upgrading and uninstalling are in Limitations.

Upgrade

Run the install script again to upgrade evertap, or to repair it: it asks again, and installs even the version you have. Then restart evertap serve (Upgrade).

Install by hand

From the releases page, download evertap-darwin-<arch>.tar.gz for your Mac and SHA256SUMS, then:

grep evertap-darwin-arm64.tar.gz SHA256SUMS | shasum -a 256 -c
tar -xzf evertap-darwin-arm64.tar.gz
sudo install -m 755 evertap-darwin-arm64/evertap /usr/local/bin/evertap

The archive also holds the license and the third-party notices. A file downloaded with a browser is quarantined, and macOS refuses to run it. Remove the quarantine with xattr -d com.apple.quarantine evertap.

With the GitHub CLI, you can check that GitHub's release workflow built the archive:

gh attestation verify evertap-darwin-arm64.tar.gz --repo caru-ini/evertap
Edit on GitHub

The evertap name and logo are not licensed with the code (section 6 of the license). You may use them to refer to evertap, but not to name or brand your own product or service, or in a way that suggests evertap made or endorses it, without permission.

evertap is an independent project. It is not affiliated with, endorsed, sponsored, supported, or certified by the owners of the software it runs, and it uses their names only to say which software that is.

  • Postgres, PostgreSQL and the Slonik Logo are trademarks or registered trademarks of the PostgreSQL Community Association of Canada, and used with their permission.
  • MySQL is a registered trademark of Oracle and/or its affiliates.
  • Redis is a registered trademark of Redis Ltd. Any rights therein are reserved to Redis Ltd.
  • Other names, including Garage and Cloudflare, may be trademarks of their respective owners.

On this page