A lightweight Flask + SQLite todo application with dark mode, drag-and-drop sorting, and multi-language support.
# Pull and run
docker run -d --name easytodo \
-p 5000:5000 \
-e SECRET_KEY=$(openssl rand -hex 32) \
-e AUTH_COOKIE_SECURE=false \
-v $(pwd)/database:/app/database \
ghcr.io/umink-lab/easytodo:latestVisit http://localhost:5000
- Create locale file in
/backend/static/js/locales/(e.g.,fr.js):
window.i18nLocales = window.i18nLocales || {};
window.i18nLocales['fr'] = {
languageName: 'Français',
translation: {
'common.cancel': 'Annuler',
'index.title': 'EasyTodo',
// ... copy all keys from en.js and translate
}
};- Update
index.json:
["zh-CN", "en", "ja", "fr"]Mount your custom locales directory:
docker run -d --name easytodo \
-p 5000:5000 \
-e SECRET_KEY=$(openssl rand -hex 32) \
-e AUTH_COOKIE_SECURE=false \
-v $(pwd)/database:/app/database \
-v $(pwd)/locales:/app/static/js/locales \
ghcr.io/umink-lab/easytodo:latestFor HTTPS deployment, set secure cookies:
docker run -d --name easytodo \
-p 5000:5000 \
-e SECRET_KEY=$(openssl rand -hex 32) \
-e AUTH_COOKIE_SECURE=true \
-e SESSION_COOKIE_SECURE=true \
-v $(pwd)/database:/app/database \
ghcr.io/umink-lab/easytodo:latest| Variable | Default | Description |
|---|---|---|
SECRET_KEY |
- | Required. JWT signing key |
AUTH_COOKIE_SECURE |
false |
Set true for HTTPS |
SESSION_COOKIE_SECURE |
false |
Set true for HTTPS |
JWT_TTL_SECONDS |
604800 |
Token validity (7 days) |
轻量级 Flask + SQLite 待办应用,支持暗黑模式、拖拽排序和多语言。
# 拉取并运行
docker run -d --name easytodo \
-p 5000:5000 \
-e SECRET_KEY=$(openssl rand -hex 32) \
-e AUTH_COOKIE_SECURE=false \
-v $(pwd)/database:/app/database \
ghcr.io/umink-lab/easytodo:latest访问 http://localhost:5000
- 创建语言文件 于
/backend/static/js/locales/(如fr.js):
window.i18nLocales = window.i18nLocales || {};
window.i18nLocales['fr'] = {
languageName: 'Français',
translation: {
'common.cancel': 'Annuler',
'index.title': 'EasyTodo',
// ... 复制 en.js 所有键并翻译
}
};- 更新
index.json:
["zh-CN", "en", "ja", "fr"]挂载自定义 locales 目录:
docker run -d --name easytodo \
-p 5000:5000 \
-e SECRET_KEY=$(openssl rand -hex 32) \
-e AUTH_COOKIE_SECURE=false \
-v $(pwd)/database:/app/database \
-v $(pwd)/locales:/app/static/js/locales \
ghcr.io/umink-lab/easytodo:latestHTTPS 部署时启用安全 Cookie:
docker run -d --name easytodo \
-p 5000:5000 \
-e SECRET_KEY=$(openssl rand -hex 32) \
-e AUTH_COOKIE_SECURE=true \
-e SESSION_COOKIE_SECURE=true \
-v $(pwd)/database:/app/database \
ghcr.io/umink-lab/easytodo:latest| 变量 | 默认值 | 说明 |
|---|---|---|
SECRET_KEY |
- | 必填。JWT 签名密钥 |
AUTH_COOKIE_SECURE |
false |
HTTPS 部署时设为 true |
SESSION_COOKIE_SECURE |
false |
HTTPS 部署时设为 true |
JWT_TTL_SECONDS |
604800 |
Token 有效期(7 天) |