Skip to content

anapsix/docker-satisfy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Satisfy in Docker

License Built with Nginx Docker Automated build Docker 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

component version
Alpine Linux 3.20
PHP 8.2
Composer 2.7.9
Satisfy 3.7.0

Build and Run

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

Run

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

Launch options

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.