| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A web-based GUI to manage a Todo.txt file.
Copy the config.example.py file to config.py and fill in the configuration parameters.
Available configuration parameters are:
More informations about Flask config values can be found here.
I'll let you search yourself about how to configure a web server along uWSGI.
Run the internal web server, which will be accessible at http://localhost:8080:
python local.py
Edit this file and change the interface/port as needed.
The uWSGI file you'll have to set in your uWSGI configuration is uwsgi.py. The callable is app.
Build the image in the applications root dir:
docker build -t <image_name> .
The image can be configured via environment variables. The available variables are:
| Variable | Default | Description |
|---|---|---|
| SECRET_KEY | this-is-not-a-secret-key! | The secret key of the app. PLEASE CHANGE THIS! |
| USER_DICT | {} | The set of predefined users as python-sict (e.g. {"john": "secret_pass"} |
| AUTH_BACKEND | DictAuth | The authentication backend to use. |
| STORAGE_BACKEND | FileSystem | The storage backend to use. |
| TODO_FILE_PATH | Backend-dependend | The path to the todo.txt in all backends |
| DROPBOX_ACCESS_TOKEN | None | The accesstoken that is used if storage backend is dropbox |
| WEBDAV_HOST | https://my.webdav.com | The hostname of the webdav server if WebDav storage is used. |
| MODE | http | The mode the uwsgi should operate in. If set to http it can be used as a normal webserver. The other option is socket which enables the uwsgi protocol. |
Please mention @janLO in issues with the docker support.
You'll probably have to hack with this application to make it work with one of the solutions described here. Send me a pull request if you make it work.
This project is built on Vue.js 2 for the frontend and Flask (Python) for the backend. The todotxtio PyPI package is used to parse/write the Todo.txt file, giving/receiving data through Ajax. Several storage backends are available so one can choose to save its Todo.txt file locally on the filesystem, on its Dropbox or in a WebDav instance like Nextcloud.
Please navigate here for the full docs.
Instead, use native mobile apps to edit and sync the Todo.txt file:
On Android, you can use Simpletask (free) which can natively sync your tasks with your Dropbox and Nextcloud. If you're using another storage provider (third-party or self-hosted), you can use a modified version of this app called Simpletask Cloudless (also free, from the same author) which comes with no sync at all, but instead saves all your tasks in a file on your device. You can then do whatever you want with this file like syncing it via SFTP or many other providers / protocols with FolderSync (free, but a pro version is available).
On iOS, I don't know. Feel free to share your finds.
If you sync your Todo.txt file via Dropbox or something from the mobile apps and at the same time you're modifiying it via this web app, you'll probably end with a loss of data because both sides can't be aware of the latest version of the file in realtime: they both erase the file with their data.
So make sure you're modifying it from one location at a time with the latest up-to-date Todo.txt file.
| Name | Configuration value | Additional PyPI dependencies |
|---|---|---|
| Predefined users | DictAuth | |
| WebDAV auth | WebDavAuth | webdavclient3 |
The DictAuth uses the USERS dict from the config as user database. With this nothing fancy happens at all. The WebDavAuth has no local user database. It forwards the login data from the user to the configured webdav server and tries to log in on his behalf. If this is successful, access will be granted.
| Name | Configuration value | Additional PyPI dependencies |
|---|---|---|
| Local file system | FileSystem | |
| Dropbox | Dropbox | dropbox |
| WebDAV | WebDav | webdavclient3 |
The WebDav storage backend has two special features:
With these features there are several multi-user-scenarios possible:
To use a nextcloud storage you have to specify the whole file path (from the host part on) as path. If your server is named my.nextcloud.home then the storage config should look like this:
'WebDav': {
'path': 'remote.php/dav/files/<username>/todo.txt',
'webdav_hostname': 'https://my.nextcloud.home',
'webdav_login': '<username>',
'webdav_password': '<PASSWORD>'
}Username and password are your regular nextcloud credentials. I highly recommend to not store them in the config. Instead use the WebDavAuth method:
AUTH_BACKEND_TO_USE = 'WebDavAuth'
[...]
'WebDav': {
'path': 'remote.php/dav/files/<username>/todo.txt',
'webdav_hostname': 'https://my.nextcloud.home',
}If you want no user specific configuration in your config you can use the placeholder method:
AUTH_BACKEND_TO_USE = 'WebDavAuth'
[...]
'WebDav': {
'path': 'remote.php/dav/files/{username}/todo.txt',
'webdav_hostname': 'https://my.nextcloud.home',
}Thanks to:
If you have questions or problems, you can submit an issue.
You can also submit pull requests. It's open-source man!
| Back | FazBrowse Home | New Git URL |