Sign inSign up

perforce/p4search

By perforce

•Updated 5 days ago

p4search container (for P4Cloud)

Image
0

3.9K

perforce/p4search repository overview

Support

⁠Overview

The P4 Search service is used by other Perforce products to enhance their search capabilities. For example, P4 Code Review and P4 DAM have REST APIs that connect to the P4 Search service. It indexes file content, metadata, revision details, and change descriptions in P4 Server. This helps users find assets and boosts productivity.

The P4 Search service is a wrapped JAR that runs as a Linux service. It uses two Java properties files (service.properties and default.config.properties) along with configuration data stored in P4 keys. The configuration files contain details and connection information for the P4 Server and Elasticsearch instances.

⁠Requirements

  1. A running instance P4 Server (P4 Server2024.1 or later).
  2. A running instance Elasticsearch (Elasticsearch 8.12.1 to 8.19.9 are supported).
  3. Optionally one or more running instances of P4Render.

⁠Documentation

To learn more about P4 Search, see the P4 Search documentation: https://help.perforce.com/helix-core/integrations-plugins/p4search/current⁠

⁠Support

P4 Search is officially supported by Perforce. Any issues should be submitted via Perforce's standard support process. See https://www.perforce.com/support/request-support⁠

⁠Build/Usage

P4 Search is provided as a Docker image. To launch, run the following Docker commands on your host:

⁠Pull this image:

    docker pull perforce/p4search:latest

⁠Run the container:

    1. mkdir -p volumes/p4search/etc_in

    2. Create the default.config.properties and service properties configuration files in the etc_in folder.

    3. Run

    docker run  -d \
    --name p4search.helix \
    -p 1601:1601 \
    -v ./volumes/p4search/etc_in:/opt/perforce/helix-p4search/etc_in \
    perforce/p4search:latest

    4. After making changes to the default.config.properties or service.configuration files, please stop and remove the docker container and then restart the container for the changes to take effect as done by step 3.

⁠Sample configurations
⁠default.config.properties
com.perforce.p4search.service.tenant-id=default
# Perforce configuration
com.perforce.p4search.core.p4port=ssl:p4dssl.mydomain:1666
com.perforce.p4search.core.p4trust=***************************
com.perforce.p4search.core.allowed=
com.perforce.p4search.core.service.p4user=super
com.perforce.p4search.core.service.p4ticket=***************************
com.perforce.p4search.core.index.p4user=super
com.perforce.p4search.core.index.p4ticket=***************************
# Indexer configuration
com.perforce.p4search.index.name=perforce1
# ElasticSearch configuration
com.perforce.p4search.elastic.user=elastic
com.perforce.p4search.elastic.pass=*************
⁠service.properties
# P4Search configuration
com.perforce.p4search.service.version=2026.1.1234567
com.perforce.p4search.service.log=log4j2.xml
com.perforce.p4search.service.host=0.0.0.0
com.perforce.p4search.service.port=1601
com.perforce.p4search.service.protocol=http
com.perforce.p4search.service.keystore=
com.perforce.p4search.service.keypass=
com.perforce.p4search.service.truststore=
com.perforce.p4search.service.trustpass=
com.perforce.p4search.service.access-control-allow-origin=http://p4search.example.com:1601
com.perforce.p4search.service.token=00000000-0000-0000-0000-000000000000
com.perforce.p4search.service.help-url=https://help.perforce.com/helix-core/integrations-plugins/p4search/current/Content/P4Search/Home-p4search.html
com.perforce.p4search.service.external-url=http://p4search.example.com:1601
com.perforce.p4search.index.threads=8
com.perforce.p4search.service.startup-retry=30000
com.perforce.p4search.service.global-rate-limit=600
com.perforce.p4search.service.login-rate-limit=5
com.perforce.p4search.service.access-token-ttl=600
com.perforce.p4search.service.refresh-token-ttl=900
com.perforce.p4search.service.live-log-limit=300
com.perforce.p4search.elastic.hosts=https://elastic.example.com:9200
com.perforce.p4search.elastic.insecure=true
com.perforce.p4search.elastic.filter=true
com.perforce.p4search.index.journal-path=./jnl
com.perforce.p4search.index.journal-threshold=1000

⁠License statements

Tag summary

Content type

Image

Digest

sha256:d46f71cd3…

Size

1.5 GB

Last updated

5 days ago

docker pull perforce/p4search