Skip to content

P9k/everdo_dockerized

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Everdo Dockerized

Run the GTD software Everdo inside a Docker container and access it via your browser. This setup enables remote synchronization and leverages the excellent Docker GUI baseimage by jlesage.

grafik

Table of Contents


Quickstart

services:
  everdo-docker:
    image: everdo-docker
    container_name: everdo
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin # <- Change to your timezone
    ports:
      - 5800:5800
      - 5900:5900
    volumes:
      - /home/user/docker-volumes/everdo/config:/config/xdg/config # <- Change to your desired directory
    restart: unless-stopped

Run it:

  • git clone https://github.com/P9k/everdo_dockerized.git (Clone the Github repository)
  • cd everdo_dockerized
  • docker buildx build -t everdo-docker . (Build the image using the recommended BuildKit method) or use the legacy way: docker build -t everdo-docker .
  • Edit compose.yaml as necessary (volumes: section) docker compose up -d (Run the service in the background)

Then open http://localhost:5800 (or replace localhost with your server IP). You should see the Everdo welcome screen.

For synchronization setup and remote access (VPN or reverse proxy), see this section below.

Disclaimer and Warning

I am not affiliated with the developer of Everdo and do not own any rights to the software. This project merely provides an alternative way to run Everdo in Docker. Everdo is proprietary software. While the free version can be used indefinitely with certain limitations (number of projects, areas, etc.), the full functionality requires a one-time purchase of the Pro version.

Warning: Exposing your Everdo instance to the public internet even via reverse proxy using TLS encryption is risky! Both design and implementation errors can lead to data leaks or compromise. If you require remote access to the dockerized Everdo instance, prefer methods like a VPN into your home network (Wireguard, Tailscale).

Motivation

I’ve been using Everdo for years and appreciate its clean design and incorporation ofthe "Getting Things Done" (GTD) methodology.

Everdo supports two sync methods:

As Everdo is designed with a local-first philosophy, there is no official web version. Since I run a headless home server with multiple Docker services, I explored using jlesage’s Docker GUI baseimage to run Everdo in Docker and access it remotely via a browser and noVNC.

Technical Details

Build & Deploy (Detailed)

  • Clone this repository (requires Dockerfile, startapp.sh, compose.yaml).

  • Build the local image using the Dockerfile:

    • Deploy the container using docker compose or a tool like Portainer.
    • Adjust the persistent volume path to retain your data across restarts.
    • Published ports: 5800 -> Browser-based GUI (via noVNC) 5900 -> VNC client
  • Access Everdo in your browser:

    • Example: http://192.168.178.2:5800 or http://my-homelab:5800. You should see the Everdo welcome screen.

VNC Password

Note that you can also add a password to the VNC interface for additional security when accessing the GUI via the browser, if necessary. You can find the instructions here.

Synchronization Setup

  1. (Optional but recommended) Unlock Pro Features

    Place your purchased key file in the everdo directory inside the persistent volume.

    In Everdo, select Add Product Key → navigate to /config/xdg/config/everdo → activate.

  2. Enable the API

    Go to Settings → API

    Set IP/Hostname → 0.0.0.0

    (Optional) Change the API Key

    Enable the checkbox and restart the container

    On startup, you should see a notification that the API is listening.

  3. Configure Sync Server

    Go to Settings → Sync

    Set Sync Mode → Server

    Restart the container

  4. Connect Client(s)

    On your Everdo client device:

    • Set Sync Mode → Manual Client

    • Enter server hostname, port and API key

    • Test using “Manual Actions” to confirm the connection

Once manual sync works, switch to Client mode and restart the container. This enables automatic synchronization.

Secure Remote Access Options

Directly exposing port `11111`` on your router is discouraged.

Instead, use one of the following safer methods:

Option A: VPN (Recommended)

Set up a VPN (e.g., Wireguard or Tailscale) to securely access your home network and the Everdo sync server. In this case, just follow the official Everdo local sync setup documentation.

Option B: Reverse Proxy with TLS

Use a reverse proxy such as Caddy to expose Everdo securely. You need either a static IP or a dynamic DNS service like deSEC.

Example Caddyfile configuration for forwarding everdosync.mydomain.com (with TLS) to Everdo’s API within the internal Docker network:

https://everdosync.mydomain.com:443 {
    reverse_proxy everdo:11111 {
        transport http {
            tls_insecure_skip_verify
        }
    }
}

After restarting Caddy, requests to https://everdosync.mydomain.com → are forwarded with TLS encryption → internal Everdo API.

grafik

About

Run the GTD software Everdo in a Docker container and access it via browser

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors