GitLab Mirror - Minimal self-hosted todo list forked from prologic/todo aimed at being modern and mobile friendly. https://gitlab.com/KevinNThomas/2do
Go to file
Kevin Thomas d085224e2d
Fix flag variables (#34)
* Update README with color themes wiki page

* Fix flag variables

* Update README for new flag notation
2020-08-10 22:38:01 +10:00
.github Add GHA Workflows to fix CI (#29) 2020-07-22 22:41:08 +10:00
.sandstorm Add Sandstorm packaging files (#31) 2020-08-07 15:08:20 +10:00
screenshots Update README and remove unused files (#28) 2020-08-07 15:01:26 +10:00
scripts Initial Commit 2017-07-17 00:57:17 -07:00
static Update layout and add color themes (#27) 2020-08-06 16:40:31 +10:00
templates Update layout and add color themes (#27) 2020-08-06 16:40:31 +10:00
.dockerignore Update layout and add color themes (#27) 2020-08-06 16:40:31 +10:00
.gitignore Update layout and add color themes (#27) 2020-08-06 16:40:31 +10:00
docker-compose.yml Update Docker Configuration (#26) 2020-07-22 22:49:54 +10:00
Dockerfile Update Docker Configuration (#26) 2020-07-22 22:49:54 +10:00
go.mod Add GHA Workflows to fix CI (#29) 2020-07-22 22:41:08 +10:00
go.sum Add GHA Workflows to fix CI (#29) 2020-07-22 22:41:08 +10:00
LICENSE Initial Commit 2017-07-17 00:57:17 -07:00
main.go Fix flag variables (#34) 2020-08-10 22:38:01 +10:00
Makefile Initial Commit 2017-07-17 00:57:17 -07:00
models.go Add configurable max items and max title length (#25) 2020-08-06 16:20:43 +10:00
README.md Fix flag variables (#34) 2020-08-10 22:38:01 +10:00
server.go Add configurable max items and max title length (#25) 2020-08-06 16:20:43 +10:00
templates.go Exported functions moved to unexported (#8) 2019-05-21 14:16:12 +10:00

todo

Build Status GoDoc Go Report Card CodeCov Sourcegraph Docker Version Image Info

todo is a self-hosted todo web app that lets you keep track of your todos in a easy and minimal way. 📝

Screenshots

Nord Theme

Mobile Nord Theme Desktop Nord Theme

Dracula Theme

Mobile Dracula Theme Desktop Dracula Theme

See all themes in the "Preset Color Themes" section below

Demo

There is also a public demo instance avilable at: https://todo.mills.io

Deployment

Docker Compose

docker-compose.yml

version: '3'

services:
  todo:
    image: prologic/todo
    container_name: todo
    restart: always
    ports:
      - 8000:8000
    volumes:
      - todo_db:/usr/local/go/src/todo/todo.db

volumes:
  todo_db:

This file:

  • Creates the todo container using the latest image from prologic/todo in Docker Hub.
  • Binds port 8000 on your host machine to port 8000 in the container (you may change the host port to whatever you wish).
  • Volume mounts the database path, saving your todo items so that your todo list will be saved in between container restarts.

Bring the container up with:

$ docker-compose up

Docker

Alternatively, you can run the container without docker-compose:

$ docker run -p 8000:8000 -v todo_db:/usr/local/go/src/todo/todo.db prologic/todo

Configuration

Preset Color Themes

todo comes with 12 different color themes based on some of the most popular programming themes:

ayu, dracula, gruvbox-dark, gruvbox-light, lucario, monokai, nord, solarized-dark, solarized-light, tomorrow, tomorrow-night, zenburn

You can set the theme by passing the THEME environment variable to the docker container, for example:

docker-compose.yml

version: '3'

services:
  todo:
    image: prologic/todo
    container_name: todo
    environment:
      THEME: ayu
    restart: always
    ports:
      - 8000:8000
    volumes:
      - todo_db:/usr/local/go/src/todo/todo.db

volumes:
  todo_db:

Screenshots

You can find screenshots and the CSS of all the preset color themes in both mobile and desktop views on the Wiki Page.

Custom Color Themes

You can set your own color theme by passing in the appropriate environment variables.

Set the THEME environment variable to custom, and the six following environment variables to the colors of your choice (in hex format, omitting the #):

Environment Variable Description
PAGEBACKGROUND Web page background
INPUTBACKGROUND Text boxes and buttons background
FOREGROUND Input and item text
CHECK Check mark on button
X X mark on button
LABEL Heading text and button hover

An example configuration:

docker-compose.yml

version: '3'

services:
  todo:
    image: prologic/todo
    container_name: todo
    environment:
      THEME: custom
      PAGEBACKGROUND: 282a36
      INPUTBACKGROUND: 44475a
      FOREGROUND: f8f8f2
      CHECK: 50fa7b
      X: ff5555
      LABEL: ffffff
    restart: always
    ports:
      - 8000:8000
    volumes:
      - todo_db:/usr/local/go/src/todo/todo.db

volumes:
  todo_db:

Additional Configuration

Environment Variable Description Default Value
MAXITEMS Maximum number of items allowed in the todo list 100
MAXTITLELENGTH Maximum length of a todo list item 100

Development / Non-Dockerized Deploy

You can quickly run a todo instance from source using the Makefile:

$ git clone https://github.com/prologic/todo.git
$ cd todo
$ make

Then todo will be running at: http://localhost:8000

By default todo stores todos in todo.db in the local directory.

This can be configured with the -dbpath=/path/to/todo.db option.

You can pass in the other environment variables using the flag notation as well, for example:

$ todo -maxitems=20 -maxtitlelength=50 -theme=nord

License

MIT

Icon made by Smashicons from flaticon.com