A very simple Synology Package Server, reverse engineered from the official Synology package repository and SynoCommunity.
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
_syno_package Add Makefile to build SPK + spk dependencies in _syno_package Feb 27, 2017
cache Extracted files are now stored in cache/ dir. (fixes #33) Mar 5, 2017
conf * Add missing support_url and auto_upgrade_from fields (PR #55) Jul 25, 2018
hooks Add version info from env variables (#41) Aug 15, 2017
lib/SSpkS * Add missing support_url and auto_upgrade_from fields (PR #55) Jul 25, 2018
packages Extracted files are now stored in cache/ dir. (fixes #33) Mar 5, 2017
tests Fix auto_upgrade_from failing test Jul 25, 2018
themes Add version info from env variables (#41) Aug 15, 2017
.dockerignore * Add missing support_url and auto_upgrade_from fields (PR #55) Jul 25, 2018
.gitignore Locales support for packages display name and description (#47) Aug 15, 2017
.scrutinizer.yml Fix Scrutinizer build Jan 29, 2018
.travis.yml Update .travis.yml Jan 23, 2017
CHANGELOG - Initial version. Base functionality is there. Requires more work on… Apr 12, 2013
Dockerfile * Add missing support_url and auto_upgrade_from fields (PR #55) Jul 25, 2018
INSTALL.md Fix badges after merge. Also found an old link in INSTALL.md. Feb 3, 2017
LICENSE Create LICENSE Aug 15, 2017
Makefile Update Makefile Feb 27, 2017
README.md * Add missing support_url and auto_upgrade_from fields (PR #55) Jul 25, 2018
VERSION * Add missing support_url and auto_upgrade_from fields (PR #55) Jul 25, 2018
composer.json Added php-phar to composer.json. Also added first (crude) version Jan 22, 2017
composer.lock Updated composer.lock. Dec 30, 2016
index.php Fix Undefined Index Mar 10, 2017
phpunit.xml.dist Fixed coverage report. Jun 21, 2016
selftest.php Implement qflags logic + some scrutinizer bits Jan 19, 2018

README.md

Scrutinizer Code Quality Code Coverage Build Status Build Status

Simple SPK Server

A very simple Synology Package Server, reverse engineered from the official Synology package repository and SynoCommunity.

This php script will serve SPKs to a Synology Package Center while also offering regular HTTP browsing through the available SPKs.

Installation

Please see the INSTALL file for instructions.

Docker

Docker images are built automatically from this repository and are available on Docker Hub.

In order to use them you will need a working installation of Docker.

Simply run the following command:

docker run -d --name sspks \
  -v /path/to/your/local/packages:/packages \
  -v /path/to/your/local/cache:/cache \
  -p 9999:8080 \
  -e SSPKS_SITE_NAME="My Packages" \
  -e SSPKS_PACKAGES_DISTRIBUTOR_URL=https://cake.com \
  jdel/sspks:v1.1.3

More environment variables are available to configure SSPKS:

  • SSPKS_SITE_NAME
  • SSPKS_SITE_THEME
  • SSPKS_SITE_REDIRECTINDEX
  • SSPKS_PACKAGES_FILE_MASK
  • SSPKS_PACKAGES_MAINTAINER
  • SSPKS_PACKAGES_MAINTAINER_URL
  • SSPKS_PACKAGES_DISTRIBUTOR
  • SSPKS_PACKAGES_DISTRIBUTOR_URL
  • SSPKS_PACKAGES_SUPPORT_URL

In the command above, replace /path/to/your/local/packages with the directory containing your packages, /path/to/your/local/cache with the directory that will hold the cache files and -p 9999 with the port you intend to serve packages on.

Should you want SSL/TLS (you really should), you need to handle SSL/TLS termination externally, for example with Traefik that will automatically fetch Let's Encrypt certificates for you.

Contribute

Feel free to contribute, improve the code or the design by forking https://github.com/jdel/sspks.git