Install Dew with Docker Desktop
Install Dew on a Mac or Windows computer that runs Docker Desktop. When you’re done, Dew is running on this computer and you can open it in a browser to finish setup.
Before you start
Section titled “Before you start”- Docker Desktop installed and running. It includes Docker Compose.
- Port 443 free on this computer. If another program already uses it, see Use a different port.
- This computer stays on and awake while people use Dew. Other devices can’t reach Dew while it’s asleep, off, or Docker Desktop is closed.
1. Install and start Dew
Section titled “1. Install and start Dew”Open Terminal on a Mac, or PowerShell on Windows, and run the command for your computer.
On a Mac:
On Windows, in PowerShell:
The command creates a folder named dew in the current folder (your home folder in a new terminal window), downloads Dew’s Compose file into it, and starts Dew. Docker downloads Dew the first time, which can take a minute. Dew then appears as dew under Containers in Docker Desktop.
Dew keeps everything it stores in the data folder inside dew. Run later docker compose commands from the dew folder.
2. Get the setup code
Section titled “2. Get the setup code”Run this command in the same window:
Look for the line that starts with Setup code:, for example Setup code: ABCD-2345. Dew prints it each time it starts, until the admin account exists. You can also open the dew container in Docker Desktop and read it under Logs, or open the file data/config/setup-code in the dew folder.
3. Open Dew in your browser
Section titled “3. Open Dew in your browser”Go to https://localhost on this computer. Other devices on your network use https://<this-computer's-IP-address>.
Your browser warns that the connection isn’t private. This is expected until you set up HTTPS for your domain; continue to the site. Dew opens on Enter your setup code.
Continue with Enter the setup code.
Use a different port
Section titled “Use a different port”If port 443 is taken on this computer, have Dew use port 8443 instead.
-
Open
compose.yamlin thedewfolder in a text editor. -
Change
"443:443"to"8443:443". -
Add
DEW_PUBLIC_HTTPS_PORT=8443underenvironment:in thedewservice. If there’s noenvironment:line, add one below theports:lines, lined up withports:. Otherwise add the new line under the existing one. The result looks like this: -
Save the file, then run
docker compose up -din thedewfolder. -
Open
https://localhost:8443.
Let’s Encrypt certificates need port 443, so on port 8443 you’ll need your own certificate for your domain.
Update Dew
Section titled “Update Dew”To update Dew to the newest version, run this command in the dew folder, on a Mac or in PowerShell:
Back up Dew
Section titled “Back up Dew”Dew keeps its database, its settings and the files people upload in the data folder next to compose.yaml. Every night at 03:00 UTC, Dew saves a copy of its database in data/database-dumps and keeps the newest seven. That copy is on the same disk, so it isn’t a backup by itself. To back up Dew, stop it with docker compose stop, copy the whole data folder to another disk or location, then start it again with docker compose start.
If something goes wrong
Section titled “If something goes wrong”| What you see | What to do |
|---|---|
docker compose up -d fails with port is already allocated or address already in use |
Another program uses port 443. Stop it, or use a different port. |
Cannot connect to the Docker daemon or error during connect |
Docker Desktop isn’t running. Open it, wait until it shows that it’s running, then run the command again. |
A parameter cannot be found that matches parameter name 'fsSLO' in PowerShell |
The command used curl instead of curl.exe. Copy the Windows command again. |
docker logs dew shows no setup code |
Dew may still be starting. Wait a moment and run docker logs dew again. |
| Other devices can’t open Dew | Check that this computer is awake and its firewall allows Docker Desktop to accept incoming connections. |
| The browser opens a sign-in page instead of Enter your setup code | The admin account already exists. Sign in with it. |
