GithubHelp home page GithubHelp logo

dbhagen / p4proxy-docker Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 1.0 42 KB

Dockerfile 27.79% Shell 72.21%
perforce p4p p4proxy docker docker-image proxy proxy-server helix-perforce helix helix-p4proxy

p4proxy-docker's Introduction

P4PROXY-DOCKER

Minimal setup:

The minimal set of environment variables to set are:

P4PPORT: the port the proxy should listen on. If you want to host over an SSL connection, this should be prepended with ssl:. Examples: localhost:1666, ssl:localhost:1666, ssl::1666

P4PTARGET: the Helix Perforce server target the proxy should attached to. If the string begins with ssl:, the remote certificate will automatically be added to the p4trust file, allowing ssl access. Examples: myp4.example.com:2666, ssl:myp4.example.com:2666

Volumes

Ultimately, this container could run without any bound volumes and be purely ephemeral. Traditionally, the intended deployment means keeping the cache and it's database between launches. As such, the following Volume should bind to a persistant volume:

/p4/cache: P4 Proxy cache location, example -v /path/to/local/cache/dir:/p4/cache *** Security risk, raw data files will be placed in this location, make sure this is either an encrypted and/or secured data location. ***

/p4/logs: Output logs from the Proxy Service. A new log will be placed in this location every time the service starts. * Log rotation to be implimented

/p4/config: The location of .p4trust and .p4tickets (in the case of precaching).

/p4/ssl: Location of certificate.txt and privatekey.txt. If these files do not exist in this location at boot and ssl: has been prepended to the P4PPORT variable, a self-signed certificate will be generated and stored here.

Building:

The package.json file contains scripts to build and run the docker image during dev.

yarn build: Build the container image, tagged as the package.json name attribute, with the default of p4proxy-docker, and the package.json version number. Example: p4proxy-docker:1.0.0

yarn start: Run the built container image.

yarn dev: Run the built container and jump into a /bin/bash shell session

You can build and run or debug the container with the combined scripts, yarn build:start and yarn build:dev

To build a specific version of P4P (the 2020.1 release has only been tested so far), you can run yarn build --build-arg P4P_VER=r19.2

Optional variables:

P4USER: Perforce user to be used for pre-caching depots * To be implimented

P4PFSIZE: Minimum file size eligable for caching. Helpful for only keeping large files in cache. Doc reference. Default P4PFSIZE=0, example: P4PFSIZE=1073741824, files of 10GiB or larger

P4DEBUG: Perforce Proxy Debug Log level. Default P4DEBUG=0, example: P4DEBUG=9

P4PCOMPRESS: Default: P4PCOMPRESS=TRUE, example P4PCOMPRESS=FALSE

Default Environment variables:

ARG P4P_VER=r20.1
ENV P4P_VER=${P4P_VER}
    P4USER=p4proxy
    P4PPORT=localhost:1666
    P4PTARGET=localhost:1666
    P4PFSIZE=0
    P4DEBUG=0
    P4PCOMPRESS=TRUE

p4proxy-docker's People

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

wata516-sand

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.