The backend app of Project Amber, a task list app
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
Timur Demin dd4906833a
Merge branch 'develop' at v0.0.5
12 个月前
bin Add an example docker-compose config 2 年前
doc BREAKING: switch to versioned API URI scheme 1年前
project_amber Bump v0.0.5 12 个月前
.dockerignore Make the app run with Docker 2 年前
.drone.yml Remove excessive pip install 12 个月前
.gitignore Add VSCode dev internals to gitignore 1年前
.pylintrc Stop pylint from complaining on code that is easy to read 1年前
Dockerfile Bump Python version in Dockerfile 12 个月前
LICENSE.txt Initial commit 2 年前
Pipfile Add mypy config 12 个月前
Pipfile.lock Add mypy config 12 个月前 Migrate to pipenv for dependency management 1年前
docker-compose.yml Add an example docker-compose config 2 年前
requirements.txt Add mypy config 12 个月前
setup.cfg Add mypy config 12 个月前 Bump v0.0.5 12 个月前

Amber Backend

This is the backend app of Project Amber, a task list app.

This is a basic Flask/SQLAlchemy app that takes care of syncing tasks between devices.


The config file is a JSON file that is loaded from either ./config.json or /etc/amber.json, whichever is found first.

Example config:

    "database": "sqlite:///file.db", // SQLAlchemy database URI
    // see
    "allow_signup": false, // whether to allow /api/signup or not
    "loglevel": 0, // 0: errors, 1: warnings, 2: info
    "domain": "https://your.domain.tld" // full domain with HTTPS, needed for CORS

If there are environment variables AMBER_DATABASE / AMBER_ALLOW_SIGNUP / AMBER_LOGLEVEL / AMBER_DOMAIN set, the program will respect them and use over the values provided with the config file.


This app directly depends on flask, flask-sqlalchemy, flask-cors, and bcrypt.

requirements.txt is left only so that pipenv is not needed while building the app in Docker. Please use pipenv in development.

Running in Docker

The Dockerfile included with the project assumes that:

  1. You're going to use either PostgreSQL or SQLite.
  2. You're going to run it behind a reverse proxy such as nginx (and running the app without a reverse proxy won't work because of the current uwsgi configuration).

If you have to/prefer to use MariaDB, etc, you'll have to add the necessary Python packages to the Docker image by hand. See SQLAlchemy docs for details.


See LICENSE.txt.