Skip to content

🐳 Dockette out-of-box Packagist (Nginx / Solr 6 / PHP 7.1+FPM)

License

Notifications You must be signed in to change notification settings

dockette/packagist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Packagist

Well-prepeared Packagist docker image(s). Run you own composer packagist portal in Docker.


Docker Stars Docker Pulls

Discussion / Help

Join the chat

Architecture

This whole project consists of 4 containers and 1 data-only container.

  • Packagist (nginx,php)
  • MariaDB (database)
  • Redis (memory storage)
  • Solr (search engine)

This version is locked to version before Packagist switched search engine to Algolia.

Installation

Download prepared docker-compose.yml to your pc / server.

Solr

Create data/solr folder a chown file permission to ID 8983.

chown 8983:8983 data/solr

Packagist

You should change prepared configuration.

  • PACKAGIST_DATABASE_USER (packagist)
  • PACKAGIST_DATABASE_PASSWORD (packagist)

Usage

Type docker-compose up -d and see the magic.

MySQL

Execute all packagist MySQL migrations.

docker-compose exec packagist /srv/app/console doctrine:schema:create

Packagist

Please create your account and add some composer package.

docker-compose exec --user www-data packagist /srv/app/console packagist:update --no-debug --env=prod --force
docker-compose exec --user www-data packagist /srv/app/console packagist:dump --no-debug --env=prod --force

Attribute force is needed for the first-run.

SSH

You can provide your own SSH keys, just uncommenting lines in docker-compose.yml.

volumes:
  - ./config/ssh/config:/var/www/.ssh/config
  - ./config/ssh/id_rsa:/var/www/.ssh/id_rsa
  - ./config/ssh/id_rsa.pub:/var/www/.ssh/id_rsa.pub
  - ./config/ssh/known_hosts:/var/www/.ssh/known_hosts

Don't forget to change owernership to Alpine's user www-data (82:82).

sudo chown -R 82:82 config id_rsa id_rsa.pub known_hosts

Solr

Index your first composer package.

docker-compose exec packagist /srv/app/console packagist:index --no-debug --env=prod --force

Cron

Cron is configured per 1 minute. You can change by replacing these files:

  • /etc/crontabs/root
  • /etc/periodic/1min/packagist

About

🐳 Dockette out-of-box Packagist (Nginx / Solr 6 / PHP 7.1+FPM)

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published