The backend app of Project Amber, a task list app
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Timur Demin b5cb76baa0
Merge branch 'develop'
pirms 6 dienas
bin Add an example docker-compose config pirms 7 mēnešiem
doc BREAKING: switch to versioned API URI scheme pirms 1 mēnesi
project_amber Bump v0.0.4 pirms 6 dienas
.dockerignore Make the app run with Docker pirms 7 mēnešiem
.drone.yml Update Drone config pirms 1 nedēļas
.gitignore Add VSCode dev internals to gitignore pirms 1 mēnesi
.pylintrc Stop pylint from complaining on code that is easy to read pirms 4 nedēļām
Dockerfile Improve caching pirms 1 mēnesi
LICENSE.txt Initial commit pirms 7 mēnešiem
Pipfile Remove Python version requirement from Pipfile pirms 3 nedēļām
Pipfile.lock Fixup 46251d75c44cfe95c0fe2852ef86418ca1adbb9b pirms 3 nedēļām Migrate to pipenv for dependency management pirms 1 mēnesi
docker-compose.yml Add an example docker-compose config pirms 7 mēnešiem
requirements.txt Update dependencies pirms 4 nedēļām
setup.cfg Update yapf settings to follow pylint config pirms 1 nedēļas Bump v0.0.4 pirms 6 dienas

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.