Plan your server

Say where it will run. Get the file to run it.

Pick where OpenTodo will live, how your phones reach it, who uses it and where backups go. You get an honest "is that enough?", a checklist in order, a docker-compose.yml with the variables already named, and the proxy snippet. Everything comes from the self-hosting docs of OpenTodo v0.6.0 and runs in your browser; nothing is stored or sent.

Without JavaScript the planner shows the most common setup: a small rented server behind a proxy with HTTPS and daily backups. Every choice is also described in the docs linked from each step.

Where will it run?
How do phones reach it?
Who uses it?
Backups, from the first day
Optional features to switch on at first start
Your address

Enough server? Yes.

The server binary is about 26 MB. Resource usage

Your checklist

  1. Create the data folder and start the container with the compose file below. Docker Compose
  2. Put a reverse proxy with HTTPS in front and set the base URL to the public address. Behind a reverse proxy
  3. Open the address: the first visitor creates the owner account, and sign-up closes. Set up your own server
  4. Turn on backups in Settings → Backups, test the destination, run one. Backups
  5. Invite people from Settings → Administration → Members, one link each. Invite someone new
docker-compose.yml
services:
  opentodo:
    image: ghcr.io/pixari/opentodo:0.6
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      - OPENTODO_BASE_URL=https://todo.example.com
    volumes:
      - opentodo-data:/data

volumes:
  opentodo-data:
Caddyfile
todo.example.com {
    reverse_proxy opentodo:8080
}

Secrets are shown as placeholders; prefer the _FILE variants and Docker secrets for passwords. Nothing you type here leaves your browser. The variables and their meaning are in the environment table.

Try it before you run it.

The demo needs nothing. When you like it, the file above starts your own server in a few minutes.

OpenTodo is free and open source, with no paid tier. If it helps you, a star on GitHub helps other people find it, and a coffee helps keep it going.

Buy me a coffee