Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🐳 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

Packagist

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

Tip

[since 2024] Use awesome self-hosted Packagist/Composer/Satis repository with unlimited private repos called Packeton.


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

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 7

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /