Coder Social home page Coder Social logo

dullage / tahskr-server Goto Github PK

View Code? Open in Web Editor NEW
14.0 3.0 1.0 134 KB

A simple, open source, self-hosted todo manager.

License: MIT License

Python 96.99% Dockerfile 1.77% Shell 1.23%
todo todolist todo-list todos task tasks tasklist task-list self-hosted selfhosted

tahskr-server's Introduction

tahskr-server

What is tahskr?

tahskr is a simple, open source, self-hosted todo manager.

There are two parts to tahskr. The server side that stores and serves data (that's this repo) and the frontend that provides a web interface accessible from a mobile/desktop browser or Windows Electron app.

Screenshot

Screenshot

Installation

Note: These installation instructions relate to the server part of tahskr (this repo). For details about the frontend see this repo.

Docker

Docker images of all releases are published to Docker Hub. These images are built for x86/64 and arm64.

Example Docker Run Command:

docker run -d \
  --name tahskr-server \
  -e "TAHSKR_ADMIN_PASSWORD=changeMe!" \
  -v "/path/for/database:/app/data" \
  -p 8080:8080 \
  --restart=unless-stopped \
  dullage/tahskr-server:latest

Example Docker Compose:

version: "3"

services:
  tahskr:
    container_name: tahskr-server
    image: dullage/tahskr-server:latest
    environment:
      TAHSKR_ADMIN_PASSWORD: "changeMe!"
    volumes:
      - "/path/for/database:/app/data"
    ports:
      - "8080:8080"
    restart: unless-stopped

Once running, you can use the API to create a user account. See the API docs for details.

Example Curl Command:

curl -X POST http://[SERVER IP OR NAME]:[YOUR PORT]/user -H 'Content-Type: application/json' -H 'x-admin: [YOUR ADMIN PASSWORD]' -d '{ "username": "[YOUR USERNAME]", "password": "[YOUR PASSWORD]"}'

Other

This is a flask python app so can be deployed in a number of different ways. See the Flask Docs for details.

API Reference

See the API docs here.

tahskr-server's People

Contributors

adullage avatar dullage avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

swipswaps

tahskr-server's Issues

Mime type error (probably) when HTTP POST on creating new user

Hello, I'm receiving error when doing HTTP POST to create new user.
I think I set all the necessary fields and types of data required to perform a HTTP POST call.

Sending HTTP GET actions, such as the basic one (get release information) works as expected.
I tried to send the calls in local (HTTP) and via reverse proxy (HTTPS), and in bothy situations it fails.

The app that I used to perform the calls is Tasker, and Android app.

photo_2022-05-19_18-10-49
photo_2022-05-19_18-09-29

Initial User Creation

It took me a bit to sort this out because I couldn't find any documentation on it. Either I missed it or it's not there. Either way, here is how I got it working and this possibly should be added to the quick start documentation for the server.

Set an admin password for the server when running in Docker.

docker run \
  -d \
  --name tahskr-server \
  -v "[YOUR DATA PATH]:/app/data" \
  -p [YOUR PORT]:8080 \
  -e "TAHSKR_ADMIN_PASSWORD=[YOUR ADMIN PASSWORD]" \
  --restart=always \
  dullage/tahskr-server:latest
  1. Replace [YOUR PORT] with the tcp port for tahskr-server to listen on
  2. Replace [YOUR DATA PATH] with a path on your filesystem where you want the data to be stored.
  3. Replace [YOUR ADMIN PASSWORD] with an admin password of your choice.

Create a user example with curl

curl -X POST http://[SERVER IP OR NAME]:[YOUR PORT]/user -H 'Content-Type: application/json' -H 'x-admin: [YOUR ADMIN PASSWORD]' -d '{ "username": "[YOUR USERNAME]", "password": "[YOUR PASSWORD]"}'

  1. Replace [YOUR PORT] with the tcp port the tahskr-server listens on
  2. Replace [SERVER IP OR NAME] with the server name or ip address of the tahskr-server
  3. Replace [YOUR ADMIN PASSWORD] with an admin password of your choice.
  4. Replace [YOUR USERNAME] with the username you want to create
  5. Replace [YOUR PASSWORD] with the password you want to create for the user

If all goes well you should see an output from the curl command similar to the following:

{"config":null,"created":"2023-09-17T22:34:57.068144","id":1,"username":"[YOUR USERNAME]"}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.