anapsix/satisfy

By anapsix

Updated 6 months ago

Satisfy (composer package hosting) in a box

Image

100K+

Satisfy in Docker

LicenseBuilt with NginxDocker Automated buildDocker Pulls

Satisfy - Satis composer repository manager with a Web UI, in Docker container based on Alpine Linux.

Features

  • After container launch, configured repos are synced every CRON_SYNC_EVERY seconds (60), as long as CRON_ENABLED is true
  • If ADD_HOST_KEYS is true, any time new Git repo is added, SSH fingerprints are collected and saved.
  • SSH private key can be passed via SSH_PRIVATE_KEY to enable sync for git+ssh type repos.

Versions

componentversion
Alpine Linux3.8
PHP7.2
Composer1.8.4
Satisfy3.0.4

Build and Run

docker build -t satisfy .
docker run -d --rm \
           --name satisfy \
           -e SSH_PRIVATE_KEY="$(<./id_rsa)" \
           -p 8080:8080 \
           satisfy

Run

docker run -d --rm \
           --name satisfy \
           -e SSH_PRIVATE_KEY="$(<./id_rsa)" \
           -e CRON_SYNC_EVERY=120 \
           -p 8080:8080 \
           anapsix/satisfy

Launch options

See entrypoint.sh for more details

optiondescription
REPO_NAMEname of your repository, defaults to myrepo
HOMEPAGEurl of this repository, defaults to http://localhost:8080
SSH_PRIVATE_KEYprivate SSH key, used to access git repos, unused by default
ADD_HOST_KEYSflag to enable watching satis.json for git repos, also turns on SSH StrictHostKeyChecking, defaults to false
CRON_ENABLEDflag to enable periodic satis build, defaults to true
CRON_SYNC_EVERYrebuild satis index frequency, in seconds, defaults to 60

Docker Pull Command

docker pull anapsix/satisfy