Beta Departed is new, and nobody has run it for long. Try it, read the code, tell me what breaks. Do not trust it yet with something that matters.

Departed

If you stop answering,
one person receives
what you left them.

Departed sits on a computer in your own home and waits. Every ten days it emails to ask whether you are still here, and one click sends it back to waiting.

See how it works Set it up

You choose one person. You lock the files yourself, before they ever reach it, and you give that person the key by hand.

Twenty-one days

Nothing happens quickly here. It is slow on purpose, so that an ordinary fortnight away is never mistaken for something worse.

  1. On the tenth day an email arrives, with one link in it.

    It asks nothing of you but a click. The clock goes back to the beginning and a note comes to say you were heard. That link then retires, so an old email can never answer on your behalf.

  2. If you don't click, it asks again the next day.

    The same email, once a day, for ten more days. Any one of them will do. There is a great deal of room in that for a holiday, or a hospital stay, or a phone left in a drawer.

  3. On the twenty-first day it sends what you prepared.

    One email, to the one person you named, carrying your locked files exactly as you left them. You are told as well, in case you are simply somewhere without a signal.

  4. Then it stops.

    It does not send again or keep asking. It has done the only thing it was ever made to do.

What it never knows

You lock the files on your own computer, with a passphrase of your own choosing. Only then do they go into the folder it watches. It never looks inside and it never holds the key.

It is a courier carrying a sealed envelope. If somebody stole the machine tomorrow, or read the email on its way, they would have the sealed envelope and nothing else.

The person you chose already has the key. You gave it to them yourself, out loud, in a room.

If something goes wrong

Most of the work in a thing like this is what it does on a bad day.

It sends by mistake
You are emailed too, the moment it happens. Change the passphrase, click once, and it starts again from the beginning. A false alarm costs you an afternoon.
There is nothing to send
It will not send an empty envelope. If the folder is bare when the day comes, it holds everything and writes to you instead, once a day, until there is something there.
The message will not go
A mail server that is down does not end the matter. It tries again every few minutes for as long as it takes, and never records the thing as done until it truly is.
The machine was switched off
It does not come back and act on a stale clock. It works through the whole run of asking, one day at a time, before it does anything final.

It lives in your house

Departed runs on a small computer of your own, on your own network, reachable only by you. There is no company holding your files and no account to lose. Nobody can be asked to hand over what they were never given.

It is free, and the whole of it is open to read, so anyone you trust can check what it does and what it cannot do.

Putting it on your server

You need a machine at home running Docker. Everything below is copy and paste, and the whole thing is two files in one folder.

  1. Make a folder for it

    The first folder holds its notes. The second is where your locked files go. The app runs as an ordinary user rather than as root, which is why the folder is handed to user 1000.

    sudo mkdir -p /opt/departed/data /opt/departed/archive
    sudo chown -R 1000:1000 /opt/departed/data
  2. Save this as /opt/departed/docker-compose.yml

    There is nothing to change in it. Every setting comes from the file in the next step.

    # Nothing to edit here. Every setting comes from the .env file beside it.
    services:
      departed:
        image: ghcr.io/lightmorphic/departed:latest
        container_name: departed
        restart: unless-stopped
        ports:
          - "${DEPARTED_PORT:-4160}:8080"
        volumes:
          - ${DEPARTED_DATA:-/opt/departed}/data:/data
          - ${ARCHIVE_DIR:-/opt/departed/archive}:/archive:ro
        environment:
          OWNER_EMAIL: ${OWNER_EMAIL}
          RECIPIENT_EMAIL: ${RECIPIENT_EMAIL}
          SMTP_HOST: ${SMTP_HOST}
          SMTP_PORT: ${SMTP_PORT:-587}
          SMTP_USERNAME: ${SMTP_USERNAME}
          SMTP_PASSWORD: ${SMTP_PASSWORD}
          SMTP_FROM: ${SMTP_FROM}
          SMTP_SECURITY: ${SMTP_SECURITY:-starttls}
          BASE_URL: ${BASE_URL}
          DASHBOARD_PASSWORD: ${DASHBOARD_PASSWORD}
          CHECKIN_INTERVAL_DAYS: ${CHECKIN_INTERVAL_DAYS:-10}
          REMINDER_COUNT: ${REMINDER_COUNT:-10}
          REMINDER_INTERVAL_DAYS: ${REMINDER_INTERVAL_DAYS:-1}
          TZ: ${TZ:-Europe/London}
  3. Save this as /opt/departed/.env

    This is the only file you edit. Fill in your two email addresses, your mail server, a dashboard password, and the address you will open it at.

    # Where you get the check-in emails, and who gets the archive.
    OWNER_EMAIL=you@example.com
    RECIPIENT_EMAIL=trusted.person@example.com
    
    # Your outgoing mail server.
    SMTP_HOST=smtp.example.com
    SMTP_PORT=587
    SMTP_USERNAME=you@example.com
    SMTP_PASSWORD=your-mail-password
    SMTP_FROM=you@example.com
    SMTP_SECURITY=starttls
    
    # The password for the dashboard. Make it long.
    DASHBOARD_PASSWORD=pick-something-long-and-private
    
    # The address the check-in links point at. It has to work from
    # wherever you read your email, so use your Tailscale address
    # rather than a name only your home network knows.
    BASE_URL=https://your-server.your-tailnet.ts.net:4160
    
    # The timing, in days.
    CHECKIN_INTERVAL_DAYS=10
    REMINDER_COUNT=10
    REMINDER_INTERVAL_DAYS=1
    
    # Where things live on the server.
    DEPARTED_PORT=4160
    DEPARTED_DATA=/opt/departed
    ARCHIVE_DIR=/opt/departed/archive
    
    TZ=Europe/London

    Keep this file to yourself: chmod 600 /opt/departed/.env. Your archive passphrase is not in here, and never should be. Departed has no use for it.

  4. Put your locked archive in the folder

    Encrypt your files on your own computer first, with whatever you already trust. Then copy the result into /opt/departed/archive. One file is sent as it is. Several are put in a zip first, so you can add more later.

  5. Start it

    cd /opt/departed
    docker compose up -d
  6. Open it and send yourself a test

    Go to http://your-server:4160, sign in with the password you chose, and press Send a test email. It posts the archive to you rather than to the person you named, so you can watch the whole thing arrive without setting anything off.

    If a check-in email ever finds you away from home, the link in it still opens without the password, so one tap on a phone is enough.

Reaching it from outside the house

Departed has no business being on the open internet. Put it on Tailscale and only your own devices can see it. One command shares it, and then you set BASE_URL to that address so the links in your emails work from your phone.

tailscale serve --bg --https=4160 http://127.0.0.1:4160

Keeping it up to date

cd /opt/departed
docker compose pull
docker compose up -d

Read it on GitHub Full instructions

© Lightmorphic Ltd. Registered in England and Wales, company number 17423646.
Registered office: 82A James Carter Road, Mildenhall, IP28 7DE.
Page last updated 5 September 2026.