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 7098cbc772 Add .dockerignore 2020-07-15 17:49:32 -07:00
screenshots Organize repo 2020-07-15 16:58:46 -07:00
static Update visuals 2020-07-14 23:22:45 -07:00
templates Update visuals 2020-07-14 23:22:45 -07:00
.dockerignore Add .dockerignore 2020-07-15 17:49:32 -07:00
.gitignore Remove dbpath flag and update .gitignore 2020-07-15 17:30:59 -07:00
docker-compose.yml Add custom color themes, dockerize with dockerhub image, update README 2020-07-14 19:06:44 -07:00
Dockerfile Make db path relative 2020-07-15 17:12:51 -07:00
go.mod Upgrade dependencies and go version 2020-07-12 14:50:58 -07:00
go.sum Upgrade dependencies and go version 2020-07-12 14:50:58 -07:00
LICENSE Upgrade dependencies and go version 2020-07-12 14:50:58 -07:00
main.go Remove dbpath flag and update .gitignore 2020-07-15 17:30:59 -07:00
Makefile Upgrade dependencies and go version 2020-07-12 14:50:58 -07:00
models.go Add configurable max items and max title length 2020-07-15 15:46:34 -07:00
README.md Update README 2020-07-15 17:37:03 -07:00
server.go Add configurable max items and max title length 2020-07-15 15:46:34 -07:00
templates.go Exported functions moved to unexported (#8) 2019-05-21 14:16:12 +10:00

2do

Minimal self-hosted todo list forked from prologic/todo aimed at being modern and mobile friendly.

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

Try out a public demo instance here: https://2do-demo.page

Deployment

docker-compose.yml

version: '3'

services:
  2do:
    image: kevinnthomas/2do
    container_name: 2do
    ports:
      - 8000:8000
    volumes:
      - db:/2do/db

volumes:
  db:

This file:

  • Creates the 2do container using the latest image from kevinnthomas/2do 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 db:/2do/db kevinnthomas/2do

Configuration

Preset Color Themes

2do 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 COLOR_THEME environment variable to the docker container, for example:

docker-compose.yml

version: '3'

services:
  2do:
    image: kevinnthomas/2do
    container_name: 2do
    environment:
      COLOR_THEME: ayu
    ports:
      - 8000:8000
    volumes:
      - db:/2do/db

volumes:
  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 COLOR_THEME environment variable to custom, and the five following environment variables to the colors of your choice (in hex format, omitting the #):

Environment Variable Description
COLOR_PAGE_BACKGROUND Web page background
COLOR_INPUT_BACKGROUND Text boxes and buttons background
COLOR_FOREGROUND Input and item text
COLOR_CHECK_MARK Check mark on button
COLOR_X_MARK X mark on button
COLOR_LABEL Heading text and button hover

An example configuration:

docker-compose.yml

version: '3'

services:
  2do:
    image: kevinnthomas/2do
    container_name: 2do
    environment:
      COLOR_THEME: custom
      COLOR_PAGE_BACKGROUND: 282a36
      COLOR_INPUT_BACKGROUND: 44475a
      COLOR_FOREGROUND: f8f8f2
      COLOR_CHECK_MARK: 50fa7b
      COLOR_X_MARK: ff5555
      COLOR_LABEL: ffffff
    ports:
      - 8000:8000
    volumes:
      - db:/2do/db

volumes:
  db:

Additional Configuration

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

Development / Non-Dockerized Deploy

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

$ git clone https://gitlab.com/KevinNThomas/2do
$ cd 2do
$ make

Then 2do will be running at: http://localhost:8000

The database will be stored in the ./db directory.

License

MIT

Icon made by Smashicons from flaticon.com.