Skip to main content

Simple tool for checking a bunch of Nextcloud servers, whether their Nextcloud version is supported and up2date.

Project description

Nextcloud Version Checker

This is a tiny and simple tool for checking a bunch of nextcloud servers, whether their Nextcloud version is supported and up2date.

Usage

Installation

This project is published on PyPI, so you just want to install it via pipx or pip. Please note, that pipx is the recommended way.

$ pipx install nextcloud-version-checker
 
OR

$ pip install nextcloud-version-checker

How to use

You can call the tool via nvc or nextcloud-version-checker.

It assumes, that there's an existing input file called input.json in your current directory. If you want to specify a custom input file, just call it like e.g. nextcloud-version-checker --server-file myservers.json or shorter nvc -s myservers.json.

An example input file is located under nextcloud_version_checker/misc/input.example.json.

How it works

Information about the current latest versions will be fetched from the official API, which is also fetched by the built-in version check. (Code Reference on ShitHub)

The script will throw the list of strings from your input file into a multiprocessing pool which will fetch, parse and display the update information in a table at the end.

Example output

user@pc:~/Workspace nextcloud-version-checker
2025-02-09 13:58:39.375 | INFO     | nextcloud_version_checker.utils.check:check:46 - Checking 'https://stable.example.org'...
2025-02-09 13:58:39.375 | INFO     | nextcloud_version_checker.utils.check:check:46 - Checking 'https://nightly.example.org'...
2025-02-09 13:58:39.375 | INFO     | nextcloud_version_checker.utils.check:check:46 - Checking 'https://enterprise.example.org'...
2025-02-09 13:58:39.375 | INFO     | nextcloud_version_checker.utils.check:check:46 - Checking 'https://eol.example.org'...
2025-02-09 13:58:39.570 | INFO     | nextcloud_version_checker.utils.check:check:46 - Checking 'https://outdated.example.org'...
2025-02-09 13:58:39.707 | INFO     | nextcloud_version_checker.utils.check:check:46 - Checking 'https://subpath.example.org/nextcloud'...
2025-02-09 13:58:39.754 | INFO     | nextcloud_version_checker.utils.check:check:46 - Checking 'https://offline.example.org'...
2025-02-09 13:58:39.754 | ERROR    | nextcloud_version_checker.utils.check:check:50 - Error while fetching the current version of 'https://offline.example.org':
2025-02-09 13:58:39.754 | ERROR    | nextcloud_version_checker.utils.check:check:51 - -> <urlopen error [Errno 111] Connection refused>
2025-02-09 13:58:40.609 | INFO     | nextcloud_version_checker.main:main:30 - +++ Nextcloud Version Overview +++
Instance                                     Release    Type        Extended Support    Supported    Up-to-date    Available release
-------------------------------------------  ---------  ----------  ------------------  -----------  ------------  -------------------
stable.example.org                           30.0.5.1   Stable      No                  ✓            ✓             -
nightly.example.org                          30.0.6.0   Beta        No                  ✓            ✖             31.0.0.14
enterprise.example.org                       29.0.11.3  Enterprise  No                  ✓            ✓             -
eol.example.org                              15.0.0.10  Stable      No                  ✖            ✖             15.0.14.1
outdated.example.org                         30.0.0.14  Stable      No                  ✓            ✖             30.0.5.1
subpath.example.org/nextcloud                30.0.5.1   Stable      No                  ✓            ✓             -
offline.example.org                          Error      ?           ?                   ?            ?             ?

user@pc:~/Workspace$ 

Development

This is an uv project. You can set up your development environment by cloning this Repository via git and running a uv sync in the project directory afterward.

The Lockfile can be updated by using uv lock (also updates the installed packages in the dependency tree).

The project can be bundled by running uv build and published by running uv publish. Results can be found in the dist/ directory.

For code linting and formatting, ruff was used. You may run it via uv run ruff check or uv run ruff format.

This project is using Semantic Versioning and Conventional Commits.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nextcloud_version_checker-1.1.0.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nextcloud_version_checker-1.1.0-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file nextcloud_version_checker-1.1.0.tar.gz.

File metadata

File hashes

Hashes for nextcloud_version_checker-1.1.0.tar.gz
Algorithm Hash digest
SHA256 8c6e9cc70d07c1c6dab71b4d1af80c02c7d7909ae723a1c98dd8bdfa6844dba3
MD5 8bdba7ef684d573ad0f6360c768691ba
BLAKE2b-256 bd226f6515c2c39fbf960ad90a6c4b4a2f4a55b46d80e71f4feecb672fa8616c

See more details on using hashes here.

File details

Details for the file nextcloud_version_checker-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nextcloud_version_checker-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bff41aca4bbe50a91498d49a56a7b828897cf8a331f3ea0935eaf88c122bac44
MD5 004652ed75648897e84671d3f2d0f6d1
BLAKE2b-256 640fd432a2f95082bdef888f5a3cc13d23fd4183d4bf424ffc2e21fc2083ad5e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page