packeton/packeton

By packeton

Updated 13 days ago

Private self-hosted Packagist/Composer/Satis repository with unlimited private repos

Image
Integration & delivery
Developer tools
2

50K+

packeton/packeton repository overview

Packeton 2.0 Docker image

What is Packeton? Packeton is an open-source, self-hosted Packagist/Composer/Satis repository with unlimited private repos.

You can see documentation and source code here https://github.com/vtsykun/packeton

Quick Usage

docker run -d --name packeton \
    --mount type=volume,src=packeton-data,dst=/data \
    -p 8080:80 \
    packeton/packeton:latest

Registering a user

Registration is disabled, after container is running, you may wish to create a admin user via command packagist:user:manager

docker exec -it packeton bin/console packagist:user:manager admin --password=123456 --admin
Environment variables

All env variables is optional. By default Packeton uses an SQLite database and build-in redis service, but you can overwrite it by env REDIS_URL and DATABASE_URL. The all app data is stored in the VOLUME /data

  • APP_COMPOSER_HOME - composer home, default /data/composer
  • DATABASE_URL - Database DSN, default sqlite:////data/app.db. Example for postgres "postgresql://app:[email protected]:5432/app?serverVersion=14&charset=utf8"
  • PACKAGIST_DIST_PATH - Default /data/zipball, path to storage zipped versions
  • REDIS_URL - Redis DB, default redis://localhost
  • PACKAGIST_DIST_HOST - Overwrite packagist host (example https://packagist.youcomany.org). Used for downloading the mirroring zip packages. (The host add into dist url for composer metadata). The default value is define dynamically from the header Host.
  • PRIVATE_REPO_DOMAIN_LIST Save ssh fingerprints to known_hosts for this domain.
  • ADMIN_USER Creating admin account, by default there is no admin user created so you won't be able to login to the packagist. To create an admin account you need to use environment variables to pass in an initial username and password (ADMIN_PASSWORD, ADMIN_EMAIL)
  • ADMIN_PASSWORD used together with ADMIN_USER
  • ADMIN_EMAIL used together with ADMIN_USER
  • TRUSTED_PROXIES - Ips for Reverse Proxy. See Symfony docs
  • PUBLIC_ACCESS - Allow anonymous users access to read packages metadata, default: false
  • MAILER_DSN - Mailter for reset password, default disabled
  • MAILER_FROM - Mailter from

The typical example docker-compose.yml

version: '3.6'

services:
    packeton:
        image: packeton/packeton:latest
        container_name: packeton
        hostname: packeton
        environment:
            ADMIN_USER: admin
            ADMIN_PASSWORD: 123456
            ADMIN_EMAIL: [email protected]
            DATABASE_URL: mysql://app:[email protected]:3306/app?serverVersion=8&charset=utf8mb4
        ports:
            - '127.0.0.1:8080:80'
        volumes:
            - .docker:/data

By default the container starts the supervisor, which is used to run other tasks: nginx, redis, php-fpm, cron, however, you can start one service per container. See docker-compose-split.yml example

Tag summary

Content type

Image

Digest

sha256:467cd5c6e

Size

57.9 MB

Last updated

13 days ago

docker pull packeton/packeton