No description
Find a file
Super User 50606ea0db Initial setup: Tududi todo app with Docker Compose
Docker Compose config, env template, gitignore, and deployment README
for running Tududi on a Fedora LXC behind NPMPlus.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 11:01:20 +02:00
.env.example Initial setup: Tududi todo app with Docker Compose 2026-03-04 11:01:20 +02:00
.gitignore Initial setup: Tududi todo app with Docker Compose 2026-03-04 11:01:20 +02:00
docker-compose.yml Initial setup: Tududi todo app with Docker Compose 2026-03-04 11:01:20 +02:00
README.md Initial setup: Tududi todo app with Docker Compose 2026-03-04 11:01:20 +02:00

Tududi - Todo App

Self-hosted Tududi instance running on Docker, deployed to a Fedora LXC on Proxmox.

Prerequisites

  • Fedora LXC container (1 core, 512MB RAM, 4GB disk)
  • Docker and Docker Compose installed

Install Docker on Fedora

dnf -y install dnf-plugins-core
dnf-3 config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
dnf -y install docker-ce docker-ce-cli containerd.io
systemctl enable --now docker

Deploy

# Clone the repo
git clone ssh://git@code.git.tsyn.dev:234/tsynodinos/todo.git /opt/tududi
cd /opt/tududi

# Create .env from template
cp .env.example .env

# Generate session secret and set your password
sed -i "s/generate-with-openssl-rand-hex-64/$(openssl rand -hex 64)/" .env
vi .env  # set TUDUDI_USER_PASSWORD

# Start the container
docker compose up -d

The app will be available on port 3002.

Reverse Proxy (NPMPlus)

Add a proxy host in NPMPlus:

Setting Value
Domain todo.home.bind.gr
Forward to <LXC-IP>:3002
SSL Enable (Let's Encrypt or wildcard)
WebSocket Enable

DNS

Add a local DNS rewrite in AdGuard Home if no wildcard exists for *.home.bind.gr:

  • todo.home.bind.gr -> NPMPlus IP

Update

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

Data

Persistent data is stored in:

  • ./db/ - SQLite database
  • ./uploads/ - User uploads

These directories are excluded from git via .gitignore.