Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jasei/pinto-docker
https://github.com/jasei/pinto-docker
docker pinto
Last synced: 1 day ago
JSON representation
- Host: GitHub
- URL: https://github.com/jasei/pinto-docker
- Owner: JaSei
- License: mit
- Created: 2020-11-09T09:07:36.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-03-02T15:21:14.000Z (almost 4 years ago)
- Last Synced: 2024-11-06T02:50:02.514Z (about 2 months ago)
- Topics: docker, pinto
- Language: Dockerfile
- Homepage:
- Size: 11.7 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pinto in docker
![Docker Automated build](https://img.shields.io/docker/automated/jasei/pinto?style=plastic)
![Docker Image Version (latest by date)](https://img.shields.io/docker/v/jasei/pinto?sort=date&style=plastic)[Pinto](https://metacpan.org/pod/distribution/Pinto/bin/pinto) is a custom repository of Perl modules
:warning: **This repository use [fork of Pinto distribution](https://github.com/JaSei/Pinto)**!
## 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](https://github.com/JaSei/pinto-docker/issues/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](https://github.com/JaSei/pinto-docker/issues/6))