Code Monkey home page Code Monkey logo

docker-toran-proxy's Introduction

Docker Toran Proxy

Build Status Docker Pulls Docker Stars Average time to resolve an issue Percentage of issues still open GitHub license

toran-proxy

Toran acts as a proxy for Packagist and GitHub. It is meant to be set up on your own server or even inside your office. This offers a few benefits:

  • Redundant infrastructure to ensure your deployments never fail and your developers can work at any time. Packages will be installed from your proxy with a fallback to GitHub, ensuring a maximum availability.
  • Higher bandwidth for faster installations. You can set up Toran in your local network or on a server near you.

Quick start

docker run --name toran-proxy -d \
    -p 80:80 \
    cedvan/toran-proxy:1.3.2

Go with your browser to localhost

Save data

Files are saved to /data/toran-proxy in container. Just mount this volume for save your configurations and repositories

docker run --name toran-proxy -d \
    -v /opt/toran-proxy:/data/toran-proxy \
    cedvan/toran-proxy:1.3.2

Add ssh config for private repository

docker run --name toran-proxy -d \
    -p 443:443 \
    -v /opt/toran-proxy/ssh:/data/toran-proxy/ssh \
    cedvan/toran-proxy:1.3.2

Files supported : id_rsa, id_rsa.pub, config and known_hosts

Configure Cron timer

docker run --name toran-proxy -d \
    -p 443:443 \
    -e "TORAN_CRON_TIMER=half" \
    cedvan/toran-proxy:1.3.2

Enabled HTTPS

docker run --name toran-proxy -d \
    -p 443:443 \
    -e "TORAN_HTTPS=true" \
    -v /opt/toran-proxy/certs:/data/toran-proxy/certs \
    cedvan/toran-proxy:1.3.2

Add toran-proxy.key and toran-proxy.crt in folder certs

Generation of Self Signed Certificates

Generation of self-signed SSL certificates involves a simple 3 step procedure.

STEP 1: Create the server private key

openssl genrsa -out toran-proxy.key 2048

STEP 2: Create the certificate signing request (CSR)

openssl req -new -key toran-proxy.key -out toran-proxy.csr

STEP 3: Sign the certificate using the private key and CSR

openssl x509 -req -days 365 -in toran-proxy.csr -signkey toran-proxy.key -out toran-proxy.crt

Congratulations! you have now generated an SSL certificate thats valid for 365 days.

HTTP Authentification

Use file htpasswd to add authentification ?

Add auth.json to composer configuration home folder

{
    "http-basic": {
        "toran-proxy.domain.tld": {
            "username": "myUsername",
            "password": "myPassword"
        },
    }
}

Toran Proxy Options

Please refer the docker run command options for the --env-file flag where you can specify all required environment variables in a single file. This will save you from writing a potentially long docker run command. Alternately you can use fig.

Below is the complete list of available options that can be used to customize your toran proxy installation.

  • TORAN_HOST: The hostname of the toran proxy server. Defaults to localhost
  • TORAN_HTTPS: Set to true to enable https support, Defaults to false. If you do not use a reverse proxy, do not forget to add the certificates files
  • TORAN_REVERSE: Set to true if you use docker behind a reverse proxy for i.e. ssl termination. This will make Toran use the HTTPS scheme without the need to add certificates. If you do so, make sure to set your reverse proxy to target port 443.
  • TORAN_CRON_TIMER: Setup cron job timer. Defaults to fifteen
    • minutes: All minutes
    • five: All five minutes
    • fifteen: All fifteen minutes
    • half: All thirty minutes
    • hour: All hours
    • daily: All days at 04:00 (Use TORAN_CRON_TIMER_DAILY_TIME for customize time)
  • TORAN_CRON_TIMER_DAILY_TIME: Set a time for cron job daily timer in HH:MM format. Defaults to 04:00
  • TORAN_TOKEN_GITHUB: Add your Github token for ensure download repositories since Github. Default null.
  • PHP_TIMEZONE: Configure timezone PHP. Default Europe/Paris.

Toran Proxy License

By default, Toran proxy license is for personal use. You can add a license from the Toran proxy interface

References

Toran is built by Jordi Boggiano, lead developer of Composer. As such he can make sure they work well together. No surprises.

docker-toran-proxy's People

Contributors

adamlc avatar core23 avatar jeremyzahner avatar teohhanhui avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.