Satisfy - Satis composer repository manager with a Web UI, in Docker container based on Alpine Linux.
- After container launch, configured repos are synced every
CRON_SYNC_EVERYseconds (60), as long asCRON_ENABLEDistrue - If
ADD_HOST_KEYSistrue, any time new Git repo is added, SSH fingerprints are collected and saved. - SSH private key can be passed via
SSH_PRIVATE_KEYto enable sync forgit+sshtype repos.
| component | version |
|---|---|
| Alpine Linux | 3.20 |
| PHP | 8.2 |
| Composer | 2.7.9 |
| Satisfy | 3.7.0 |
docker build -t satisfy .
docker run -d --rm \
--name satisfy \
-e SSH_PRIVATE_KEY="$(<./id_rsa)" \
-p 8080:80 \
satisfy
docker run -d --rm \
--name satisfy \
-e SSH_PRIVATE_KEY="$(<./id_rsa)" \
-e CRON_SYNC_EVERY=120 \
-p 8080:80 \
anapsix/satisfy
See entrypoint.sh for more details
| option | description |
|---|---|
REPO_NAME |
name of your repository, defaults to myorg/myrepo |
HOMEPAGE |
url of this repository, defaults to http://localhost:8080 |
SSH_PRIVATE_KEY |
private SSH key, used to access git repos, unused by default |
ADD_HOST_KEYS |
flag to enable watching satis.json for git repos, also turns on SSH StrictHostKeyChecking, defaults to false |
CRON_ENABLED |
flag to enable periodic satis build, defaults to true |
CRON_SYNC_EVERY |
rebuild satis index frequency, in seconds, defaults to 60 |
Access the Admin UI via http://localhost:8080/admin.