ccfoo242 / helix-docker

Docker images for Perforce Helix

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

helix-docker

This repository contains a collection of source files for building Docker images for Perforce Helix. It exists purely because there is no working Docker solution in existence for Perforce Helix.

helix-p4d

This directory contains the source files for building a Perforce Helix core server Docker image. The published Docker images are available as sourcegraph/helix-p4d on Docker Hub.

Usage

To have a disposable Perforce Helix core server running, simply do:

docker run --rm \
    --publish 1666:1666 \
    sourcegraph/helix-p4d:2023.1

The above command makes the server avaialble locally at :1666, with a default super user admin and its password pass12349ers.

All available options and their default values:

NAME=perforce-server
P4HOME=/p4
P4NAME=master
P4TCP=1666
P4PORT=1666
P4USER=admin
P4PASSWD=pass12349ers
P4CASE=-C0
P4CHARSET=utf8
JNL_PREFIX=perforce-server

Use the --env flag to override default:

docker run --rm \
    --publish 1666:1666 \
    --env P4USER=amy \
    --env P4PASSWD=securepassword \
    sourcegraph/helix-p4d:2023.1

Warning

Please be noted that although the server survives over restarts (i.e. data are kept), but it may break if you change the options after the initial bootstrap (i.e. the very first run of the image, at when options are getting hard-coded to the Perforce Helix core server own configuration).

To start a long-running production container, do remember to volume the data directory (P4HOME) and replace the --rm flag with -d (detach):

docker run -d \
    --publish 1666:1666 \
    --env P4PASSWD=securepassword \
    --volume ~/.helix-p4d-home:/p4 \
    sourcegraph/helix-p4d:2023.1

Now you have a running server, please read our handbook for how to set up the client side.

Running Perforce Helix with SSL enabled

Frist, generate some self-signed SSL certificates:

mkdir ssl
pushd ssl
openssl genrsa -out privatekey.txt 2048
openssl req -new -key privatekey.txt -out certrequest.csr
openssl x509 -req -days 365 -in certrequest.csr -signkey privatekey.txt -out certificate.txt
rm certrequest.csr
popd

Next, we need to run the server with P4SSLDIR set to a directory containing the SSL files, and set P4PORT to use SSL:

docker run --rm \
    --publish 1666:1666 \
    --env P4PORT=ssl:1666 \
    --env P4SSLDIR=/ssl \
    --volume ./ssl:/ssl \
    sourcegraph/helix-p4d:2023.1

Credits

This repository is heavily inspired by https://github.com/p4paul/helix-docker and https://github.com/ambakshi/docker-perforce.

About

Docker images for Perforce Helix


Languages

Language:Dockerfile 53.5%Language:Shell 46.5%