JEXUpdate

Joomla Extension Update Server with GitHub integration.

View project on GitHub

JEXUpdate

Joomla! Extension Update Server with GitHub integration.

This application allows you to run easily your own Joomla Extension Update Server using GitHub as a repository. All extension packages will be stored as an asset in a GitHub repository release.

Installation

First you need to get your own GitHub Personal Token from Seetings > Developer Settings > Personal access tokens. No special permissions are required for this.

Running the application is quite easy, you only need to execute a docker container using -e option to configure the list of extensions you want to serve:

docker pull othercode/jexupdate:latest
docker run -d -p 8080:80 othercode/jexupdate -e GITHUB_TOKEN={token} -e GITHUB_ACCOUNT={account} -e JEX_SERVER_EXTENSIONS={ext_one,ext_two}

for example:

docker run -d -p 8080:80 othercode/jexupdate -e GITHUB_TOKEN=98b669cdb87d168b62ba03fd09dd0e52dbcb0db6 -e GITHUB_ACCOUNT=othercodes -e JEX_SERVER_EXTENSIONS=mod_simplecontactform

Here is the complete list of supported environment variables:

Variable Description Default Value
APP_NAME The application name. JEXServer
APP_DEBUG Enable disable the debug mode. false
APP_ENV Sets the environment mode production
DISPLAY_ERROR_DETAILS Display the errors. false
JEX_SERVER_NAME The update server name. JEXServer
JEX_SERVER_DESCRIPTION The update server description. “Joomla Extension Update Server”
JEX_SERVER_EXTENSIONS The coma separated list of extensions.  
GITHUB_URI The GitHub API endpoint. https://api.github.com/
GITHUB_TOKEN The GitHub Personal access token.  
GITHUB_ACCOUNT The GitHub account that holds the extensions repositories.  

Development

To initializing the development environment you just need to execute the following command:

docker-compose -f infrastructure/dev/docker-compose.yml up -d --build

Once the docker-compose command finish you will be able to access the application in http://localhost:9000/.

Additionally, you can execute composer with the following command:

docker-compose -f infrastructure/dev/docker-compose.yml run --rm application composer update
docker-compose -f infrastructure/dev/docker-compose.yml run --rm application composer test