Sign inSign up

jasei/pinto

By jasei

•Updated over 5 years ago

Image
0

340

jasei/pinto repository overview

⁠pinto in docker

Docker Automated build Docker Image Version (latest by date)

Pinto⁠ is a custom repository of Perl modules

:warning: This repository use fork of Pinto distribution⁠!

⁠Synopsis

run pintod server

(pinto init is called before automatically)

docker run \
    -v PINTO_REPO:/pinto \
    -e PINTO_REPOSITORY_ROOT=/pinto \
    -p 3111:3111
    jasei/pinto \
    pintod

pull MODULE from CPAN to pinto repository

I really recommend to use --skip-all-missing-prerequisites or -K more in issue #1⁠ and --use-default-message or -M because in docker isn't set editor properly.

docker run \
    -e PINTO_REPOSITORY_ROOT=https://PINTO_SERVER_URL \
    jasei/pinto \
    pinto -v -K -M --user pinto --password PASSWORD pull MODULE

push MODULE to pinto repository

docker run \
    -e PINTO_REPOSITORY_ROOT=https://PINTO_SERVER_URL \
    jasei/pinto \
    pinto -v -M --user pinto --password PASSWORD add MODULE

⁠Placeholders exaplanation

  • PINTO_REPO - directory/volume where pinto data are persisted, eg. /var/lib/pinto - on docker host machine
  • PINTO_SERVER_URL - URL to pintod instance

⁠How to use?

I strongly encourage use pinto in docker as is mentioned in Synopsis part and proxy with basic authentication at lest.

Nginx example configuration

server {
  listen       *:443 ssl;

  server_name  PINTO_SERVER_URL;

  ssl on;
  ssl_certificate           /etc/nginx/pinto.crt;
  ssl_certificate_key       /etc/nginx/pinto.key;
  ssl_client_certificate    /etc/nginx/pinto.crt;
  ssl_verify_client         on;

  index  index.html index.htm index.php;
  access_log            /var/log/nginx/ssl-PINTO_SERVER_URL.access.log combined;
  error_log             /var/log/nginx/ssl-PINTO_SERVER_URL.error.log;


  location / {
    limit_except GET HEAD {
      auth_basic           "pinto admin";
      auth_basic_user_file /etc/nginx/htpasswd;
    }

    proxy_pass            http://localhost:3111;
    proxy_set_header      Host $host;
    proxy_set_header      X-Real-IP $remote_addr;
    proxy_set_header      X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header      Proxy "";
  }
}

(this configuration have a anonymize access for GET (cpan like API) and authenticated access to pinto API (eg. pull/push))

Don't use passwords without SSL/TLS encryption!

⁠Environment variables

  • PINTO_UA_TIMEOUT - set timeout for pinto LWP::UserAgent, it's helpfull when remote call fail with read timeout (#6⁠)

Tag summary

Content type

Image

Digest

Size

363.8 MB

Last updated

over 5 years ago

docker pull jasei/pinto:0.5.2