PHPackages                             padarom/thunderstorm - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. padarom/thunderstorm

AbandonedArchivedProject[Framework](/categories/framework)

padarom/thunderstorm
====================

A standalone WCF Package Update Server

0.6.0(8y ago)310[2 issues](https://github.com/padarom/thunderstorm/issues)MITPHPPHP &gt;=5.5.9

Since Jul 14Pushed 8y ago1 watchersCompare

[ Source](https://github.com/padarom/thunderstorm)[ Packagist](https://packagist.org/packages/padarom/thunderstorm)[ RSS](/packages/padarom-thunderstorm/feed)WikiDiscussions master Synced today

READMEChangelog (5)Dependencies (2)Versions (5)Used By (0)

Thunderstorm
============

[](#thunderstorm)

Thunderstorm is a simple package update server for the WoltLab Community Framework written in PHP. It provides full compability with WCFs package system (\*).

*As I no longer use WCF I cannot put any more resources into this project until there is more interest in it or my schedule clears up. Contributions are much appreciated!* **Although not currently in development, Thunderstorm can be considered ready for use in production environments.**

### Roadmap

[](#roadmap)

- HTML based frontend
- Authentication
- Administration interface
- Ability to edit plugins from the system

### Server Requirements

[](#server-requirements)

This server is based on [Laravel Lumen](https://lumen.laravel.com/), and as such shares the same requirements.

- PHP &gt;= 5.5.9
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension

**You will also need to make sure that the php ini directive `short_open_tag` is set to `Off`.**

Installation
------------

[](#installation)

You can manually install this server by downloading the source code and running `composer install` to install all dependencies. After this you will need to complete the following steps:

1. Create a sqlite database file (`database/database.sqlite`)
2. Copy the example environment file (`cp .env.example .env`)
3. Run the database migrations (`php artisan migrate`)
4. Make sure your `storage` and `uploads` directory are writeable (`chmod -R 755 storage/ uploads/`)

I also provide a [pre-packaged version](https://github.com/padarom/thunderstorm/releases) (about 2MB) of all releases that already contains the dependencies. You still need to make sure the proper permissions are set for your `storage` and `uploads` directory (see step 4).

### Upgrade Process

[](#upgrade-process)

To upgrade to a newer version, do the following:

1. Backup these files/directories:
    - `.env`
    - `database/database.sqlite`
    - `storage/packages`
2. Replace the application with the newest version (unzip the prepackaged release or download the repository)
3. Move your backed up files back into the application (overwrite any existing files)
4. Run `php artisan migrate`

### Setting up the import

[](#setting-up-the-import)

The server scans the `uploads/` directory (this can be configured in the `.env` configuration file) for new packages. So if you want to add new packages to the system, drop them in there. The server will automatically analyze its `package.xml` file and move it to the right directory. This import can be run manually with `php artisan import:uploads` when in the project root directory.

Alternatively there's two ways to run the import automatically:

#### Cronjob *(recommended)*

[](#cronjob-recommended)

The server checks for uploads every minute. To enable this, you must add a cronjob by running `crontab -e` (depending on your OS) and appending the following line (make sure to adjust the path):

```
* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1

```

#### On requests *(not recommended)*

[](#on-requests-not-recommended)

The server runs the import automatically before answering the request. This runs (statistically) during 3 out of every 10 requests. Depending on the number of packages that have to be imported, this could severely slow down your application. During tests it was fast enough that it shouldn't make a noticeable difference, but it's still a good practice to run the import using cronjobs.

If you have no way of running cronjobs and are absolutely sure you want to use this method for imports, then edit your `.env` configuration file and set the `IMPORT_ONREQUESTS` variable to `true`:

```
IMPORT_ONREQUESTS=true

```

#### (\*) Incompatibilities

[](#-incompatibilities)

- Even though WCF supports `.tar.gz` archives (that is "gzipped tar archives"), it does not recommend using them. `.tar` archives are the preferred variant for WCF packages and as such, Thunderstorm does *not* support `.tar.gz` archives.

License
-------

[](#license)

This is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance7

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~218 days

Total

4

Last Release

2983d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/675d504ab41a615f10b88b54fe000ea2d05158c6d4cd3425a6f863bd6ac22e8f?d=identicon)[Padarom](/maintainers/Padarom)

---

Tags

frameworkpackageservercommunityupdatewcfwoltlabthunderstorm

### Embed Badge

![Health badge](/badges/padarom-thunderstorm/health.svg)

```
[![Health](https://phpackages.com/badges/padarom-thunderstorm/health.svg)](https://phpackages.com/packages/padarom-thunderstorm)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k532.1M19.4k](/packages/laravel-framework)[tempest/framework

The PHP framework that gets out of your way.

2.2k31.1k12](/packages/tempest-framework)[doppar/framework

The Doppar Framework

4011.2k14](/packages/doppar-framework)[jsdecena/laravel-passport-multiauth

Simple laravel passport multiple user authentication

501.1k](/packages/jsdecena-laravel-passport-multiauth)[zemit-cms/core

Build Phalcon REST APIs faster with database-first scaffolding, model relationships, eager loading, identity, permissions, CLI, and WebSocket support.

138.5k1](/packages/zemit-cms-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
