The backend app of Project Amber, a task list app
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Timur Demin b671c0ea59
Merge branch 'develop'
hace 2 semanas
bin Add an example docker-compose config hace 3 meses
doc Add an example docker-compose config hace 3 meses
project_amber Bypass auth middleware for CORS checks hace 2 semanas
.dockerignore Make the app run with Docker hace 3 meses
.drone.yml Update CI config hace 1 mes
.gitignore Remove SQLite databases from Git hace 3 meses
.pylintrc Make pylint aware that db.session is autogenerated hace 3 meses
Dockerfile Add an example docker-compose config hace 3 meses
LICENSE.txt Initial commit hace 3 meses
README.md Update README hace 2 semanas
docker-compose.yml Add an example docker-compose config hace 3 meses
requirements.txt Add CORS support hace 2 semanas
setup.cfg Initial commit hace 3 meses
setup.py Add CORS support hace 2 semanas

README.md

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.

Configuration

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 https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls
    "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.

Dependencies

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

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.

Licenses

See LICENSE.txt.