Download the PHP package bloggermohiuddin/updatecore without Composer
On this page you can find all versions of the php package bloggermohiuddin/updatecore. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download bloggermohiuddin/updatecore
More information about bloggermohiuddin/updatecore
Files in bloggermohiuddin/updatecore
Package updatecore
Short Description Framework-agnostic PHP auto-update engine for self-hosted applications
License MIT
Informations about the package updatecore
A lightweight yet powerful update framework that enables self-hosted PHP applications to detect, download, and install updates from GitHub — automatically. [Getting Started](#installation) · [Documentation](#configuration) · [Report Bug](https://github.com/bloggermohiuddin/updatecore/issues)
Project Status
UpdateCore is currently under active development.
The core update engine is functional and tested. Additional providers, CLI tooling, and a web dashboard are planned for upcoming releases.
API surface may change before v1.0.0. Use in production at your own discretion.
Overview
Keeping self-hosted applications up to date is one of the most overlooked challenges in PHP development. Manual updates are error-prone, risky, and time-consuming. UpdateCore solves this by providing a complete, reusable auto-update engine that integrates into any PHP project — regardless of framework, architecture, or hosting environment.
UpdateCore uses a zip-based architecture. It fetches the latest commit from GitHub, downloads the repository as a zip archive, extracts only the changed files, backs up the originals, replaces them safely, runs any pending migrations, and rolls back automatically if anything fails.
Whether you are building a SaaS platform, a CMS, an admin panel, a CRM, or a REST API service, UpdateCore gives you production-grade update infrastructure in under 20 files.
How It Works
Features
- Zip-Based Updates — Downloads repository as zip, extracts changed files
- GitHub Integration — Direct integration with GitHub API
- Automatic Rollback — If any step fails, the system restores the previous state
- Backup System — Full backup of affected files before any modification
- Database Migrations — Run SQL or PHP migration files as part of the update process
- PHP Migrations — Support for
up()anddown()methods with auto-rollback - Security Guards — Admin authentication, CSRF protection, lock tokens
- Maintenance Mode — Automatic maintenance mode during updates
- Structured Logging — Every operation is logged to file and database
- Framework Independent — Pure PHP 8.0+; works with Laravel, CodeIgniter, raw PHP, anything
- PSR-4 Autoloading — Clean namespace structure
Installation
Via Composer
Quick Start
1. Configure
Create config/updatecore.php or use constants:
2. Initialize
3. Check for Updates
4. Install the Update
5. One-Liner
Configuration
| Key | Type | Default | Description |
|---|---|---|---|
repository |
string |
'' |
GitHub repo in owner/repo format |
branch |
string |
'main' |
Branch to pull from |
github_token |
string |
'' |
GitHub personal access token |
project_root |
string |
auto | Root path of your application |
storage_path |
string |
auto | Path for logs, backups, storage |
backup_enabled |
bool |
true |
Enable automatic backups |
backup_max |
int |
5 |
Maximum backups to retain |
timeout |
int |
300 |
HTTP timeout in seconds |
excluded_dirs |
array |
['storage', 'vendor'] |
Directories to skip during update |
excluded_files |
array |
['config.php'] |
Files to skip during update |
Update Flow
Automatic Rollback
If any step fails during the update process, UpdateCore automatically:
- Restores all files from backup
- Disables maintenance mode
- Unlocks the update system
- Logs the failure
Database Migrations
Place migration files in storage/migrations/:
Migration with Auto-Rollback
If up() throws an exception, down() is called automatically to rollback.
Security
- Admin Authentication — Verify admin identity before updates
- CSRF Protection — Token-based request validation
- Lock Tokens — Prevent concurrent update attempts
- Backup Before Change — Every file backed up before replacement
- Atomic Writes — Temp file → verify → replace (no partial writes)
- Maintenance Mode — Prevents user access during updates
- Excluded Files — Config files never overwritten
Logging
Logs are stored in two places:
File Logs
storage/logs/update_[job_id].log:
Database Logs
system_logs table stores all log entries with context.
Project Structure
Works With Any PHP Project
| Project Type | Supported |
|---|---|
| Laravel | ✅ |
| CodeIgniter | ✅ |
| Raw PHP | ✅ |
| WordPress (custom) | ✅ |
| SaaS Applications | ✅ |
| CRM Systems | ✅ |
| Admin Panels | ✅ |
| REST APIs | ✅ |
| CMS Projects | ✅ |
Versioning
| Version | Stage | Description |
|---|---|---|
v0.1.0 |
Experimental | Core engine, GitHub provider |
v0.2.0 |
Current | Zip-based updates, migrations |
v0.5.0 |
Pre-release | Stable rollback, security guards |
v1.0.0 |
Stable | Production ready, API frozen |
Roadmap
- [ ] GitLab provider
- [ ] Bitbucket provider
- [ ] CLI command-line interface
- [ ] Web dashboard with real-time progress
- [ ] Differential patch updates
- [ ] Webhook notifications
- [ ] Package dependency resolution
- [ ] Cron integration
Contributing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
Code Standards
- PHP 8.0+ with strict types
- PSR-4 autoloading
- PSR-12 coding style
- No framework dependencies
- README must match code
License
MIT License. See LICENSE.
Designed and developed by MD Mohiuddin. Focused on building scalable self-hosted PHP infrastructure, SaaS products, and reusable backend systems.
**If you find UpdateCore useful, please consider giving it a star on GitHub.**
All versions of updatecore with dependencies
ext-curl Version *