dumbwareio/dumbdo

Sponsored OSS

By DumbWareio

•Updated 7 months ago

A stupid simple to-do list.

Image
2

100K+

dumbwareio/dumbdo repository overview

⁠DumbDo

A stupidly simple todo list application that just works. No complex database, no unnecessary features - just todos.

image

⁠Features

  • ✨ Clean, minimal interface
  • šŸŒ“ Dark/Light mode with system preference detection
  • šŸ’¾ File-based storage - todos persist between sessions
  • šŸ“± Fully responsive design
  • šŸš€ Fast and lightweight
  • šŸ”’ PIN protection (4-10 digits if enabled)
  • 🌐 PWA Support

⁠Environment Variables

VariableDescriptionDefaultRequired
PORTThe port number the server will listen on3000No
DUMBDO_PINPIN protection for accessing todos (4-10 digits)-No

⁠Quick Start

⁠Running Locally
  1. Clone the repository
git clone https://github.com/dumbwareio/dumbdo.git
cd dumbdo
  1. Install dependencies
npm install
  1. Start the server
npm start
  1. Open http://localhost:3000⁠ in your browser
⁠Using Docker
  1. Pull from Docker Hub (recommended)
docker pull dumbwareio/dumbdo:latest
docker run -p 3000:3000 -v $(pwd)/data:/app/data dumbwareio/dumbdo:latest
  1. Or build locally
docker build -t dumbwareio/dumbdo .
docker run -p 3000:3000 -v $(pwd)/data:/app/data dumbwareio/dumbdo
  1. Docker Compose
services:
  dumbdo:
    image: dumbwareio/dumbdo:latest
    container_name: dumbdo
    restart: unless-stopped
    ports:
      - ${DUMBDO_PORT:-3000}:3000
    volumes:
      - ${DUMBDO_DATA_PATH:-./data}:/app/data
    environment:
      - DUMBDO_PIN=${DUMBDO_PIN-}
      - DUMBDO_SITE_TITLE=DumbDo
      # (Optional) Restrict origins - ex: https://subdomain.domain.tld,https://auth.proxy.tld,http://internalip:port' (default is '*')
      # - ALLOWED_ORIGINS=http://localhost:3000
      # - NODE_ENV=development # default production (development allows all origins)
    #healthcheck:
    #  test: wget --spider -q  http://127.0.0.1:3000
    #  start_period: 20s
    #  interval: 20s
    #  timeout: 5s
    #  retries: 3

⁠Storage

Todos are stored in a JSON file at app/data/todos.json. The file is automatically created when you first run the application.

To backup your todos, simply copy the data directory. To restore, place your backup todos.json in the data directory.

⁠Development

The application follows the "Dumb" design system principles:

  • No complex storage
  • Single purpose, done well
  • "It just works"
⁠Project Structure
dumbdo/
ā”œā”€ā”€ app.js          # Frontend JavaScript
ā”œā”€ā”€ index.html      # Main HTML file
ā”œā”€ā”€ server.js       # Node.js server
ā”œā”€ā”€ styles.css      # CSS styles
ā”œā”€ā”€ data/          # Todo storage directory
│   └── todos.json
ā”œā”€ā”€ Dockerfile     # Docker configuration
└── package.json   # Dependencies and scripts

⁠Contributing

This is meant to be a simple application. If you're writing complex code to solve a simple problem, you're probably doing it wrong. Keep it dumb, keep it simple.

Tag summary

Content type

Image

Digest

sha256:03a01d158…

Size

62.8 MB

Last updated

7 months ago

docker pull dumbwareio/dumbdo

This week's pulls

Pulls:

3,857

Last week