Skip to content

django-updater helps you to keep your Django installation up to date.

License

Notifications You must be signed in to change notification settings

pombredanne/django-updater

Repository files navigation

WARNING

This repo is currently a work in progress and may break with every release. Don't rely on it for now.

image


image

image

Django Updater helps you to keep your Django installation up to date. It warns you when a new security related release comes out and when your Django version hits end of life.

Documentation

The full documentation is at https://django-updater.readthedocs.org.

Quickstart

Install django-updater:

pip install django-updater

Then, add it to your `INSTALLED_APPS`:

INSTALLED_APPS = (
    ...
    "updater",
)

And run the migrations with:

python manage.py migrate updater

Screenshots

image


image

Usage

In order to check for updates Django Updater has to be called periodically. There are three ways to accomplish that:

  • Using the service on djangoupdater.com (not yet implemented)
  • Running a periodic Celery task
  • Create a cronjob

With Djangoupdater.com

Warning: The service is not live, yet.

Create an account on djangoupdater.com, and copy the token from your dashboard.

To register your site, run

python manage.py register_updater --token=<YOUR_TOKEN>

The service will now try to contact your site. If all went well, the command should terminate with

All went well!

Celery

If you are using Celery and have a celery beat daemon running, enable Celery support in your settings with:

from datetime import timedelta

CELERYBEAT_SCHEDULE = {
    'run-django-updater': {
        'task': 'updater.tasks.run_check',
        'schedule': timedelta(days=1),
    },
}

And you are good to go!

Cronjob

You can use a cronjob to check for updates once a day.

To set up a cronjob, run:

crontab -e

And then add:

30 2 * * * python /path/to/your/apps/manage.py check_for_updates

If you are using a virtual environment, you might need to point to the python executable your virtual environment is using:

30 2 * * * /path/to/virtual/environment/bin/python /path/to/your/apps/manage.py check_for_updates

If all this fails, or you want to start the process from a remote host, you can call the remote url.

To do that, run:

python manage.py updater_token

Copy the token and create a cronjob like this:

30 2 * * * curl https://domain.com/updater/run/<YOUR_TOKEN>/

About

django-updater helps you to keep your Django installation up to date.

Resources

License

Stars

Watchers

Forks

Packages

No packages published