JFrog Self-Managed Installation Frequently Asked Questions [FAQ]

Frequently asked questions about installing the JFrog Platform via Helm or Ansible, including database setup, licensing, upgrades, and troubleshooting.

Choosing an Installation Method

❓Which installation method should I use?

A: Use the Platform Helm chart if you have Kubernetes (including OpenShift) — it's the recommended method. Use Ansible if you are deploying on Linux VMs or bare-metal.

❓What is the best installation method for production?

A: The Platform Helm chart on Kubernetes (including OpenShift) is the JFrog-recommended method. It supports all core products, high availability, autoscaling, and the broadest set of services (including Curation, Catalog, and Workers). Ansible is the recommended alternative for VM environments. Individual product installers (Docker Compose, RPM, Debian, Linux Archive) are available but not recommended for production — they require manual orchestration and do not support the full platform in a single workflow. See the Decision Guide for a detailed comparison.

❓When should I use Ansible instead of Helm?

A: Use the Ansible quick start if you are deploying on Linux VMs without Kubernetes.

❓When should I use Helm instead of Ansible?

A: Use the Helm quick start if you have Kubernetes (including OpenShift).

❓Can I start with one product and add more later?

A: Yes. Both Helm and Ansible support enabling products individually. Start with Artifactory, then enable Xray and Distribution when needed.

❓Do I need Kubernetes to try JFrog?

A: No. For a quick evaluation without Kubernetes, use the Ansible quick start on a single Linux VM — all host groups can point to the same IP. Alternatively, use Docker Compose for a single-node trial, though Docker Compose does not support the full platform workflow.

❓What's the difference between evaluation and production installs?

A: Evaluation uses bundled defaults (built-in PostgreSQL, placeholder security keys, local storage) for fast setup — not safe for real data. Production requires external PostgreSQL, unique security keys, and cloud object storage (S3, GCS, Azure Blob). Both Helm and Ansible quick starts offer tabbed instructions for each path.

❓Can I switch from Ansible to Helm later?

A: Not in-place. Ansible deploys directly onto VMs; Helm deploys into Kubernetes. Migrating requires provisioning a Kubernetes cluster, deploying via Helm, and migrating data (database dump/restore, filestore sync). Plan your target platform before your first production deployment.

❓Does Helm work in air-gapped (offline) environments?

A: Yes. Download the Helm chart archive and container images to a local registry, then install from the local chart and registry. See Configure JFrog Platform in an Air-Gapped Environment for step-by-step instructions.

Products and Licensing

❓What products can I install with Helm?

A: All JFrog products: Artifactory, Xray, Distribution, Catalog, and Workers. JAS (Advanced Security) is included via Xray and activates with the appropriate license. Curation is also a component of Xray that activates with the right license and requires Catalog. AppTrust and Runtime are separate addon charts installed alongside the platform.

❓What products can I install with Ansible?

A: Artifactory, Xray, and Distribution. The Insight role was removed in collection 11.0.0. The collection does not include Curation, Catalog, Workers, or Runtime Security. Those require Helm or individual product installers.

❓Which products are only available via Helm?

A: Catalog and Workers are only available through the Helm chart. Curation (requires Catalog) and JAS (Advanced Security) are included via Xray and are available through Helm, RPM, Debian, Linux Archive, and Docker Compose — but not the Ansible collection. The Ansible collection supports Artifactory, Xray, and Distribution only.

❓How do I enable Distribution?

A: Helm: Set distribution.enabled: true in customvalues.yaml. Verify your license entitlement in the License Matrix and create a distribution database on your external PostgreSQL.

Ansible: Set distribution_enabled: true in group_vars/all/vars.yml and add a [distribution_servers] group to your inventory file.

Database

❓Can I use the bundled PostgreSQL in production?

A: No. The bundled PostgreSQL is for evaluation only.

  • Helm: Set postgresql.enabled: false at the top level and under each subchart (artifactory.postgresql.enabled: false, xray.postgresql.enabled: false, etc.) in customvalues.yaml, and provide an externally managed PostgreSQL.
  • Ansible: The bundled PostgreSQL role uses trust authentication open to all hosts with no replication or backup. Set postgres_enabled: false and configure external database URLs.
❓What databases does the JFrog Platform support?

A: PostgreSQL is the only supported external database for all JFrog products. The bundled database (included in Helm charts and Ansible collection) is PostgreSQL and is for evaluation only. For production, use an externally managed PostgreSQL instance (self-hosted or cloud-managed such as AWS RDS, Azure Database for PostgreSQL, or GCP Cloud SQL).

❓Do I need a separate database for each product?

A: Yes. Artifactory, Xray, Distribution, and Catalog each require a dedicated PostgreSQL database. Create all required databases on your external server before deploying. See the SQL setup commands (Helm) or External Database With Ansible (Ansible).

Ansible-Specific

❓Where is the hosts.ini file?

A: The collection does not ship one. You must create it. See step 2 of the Ansible quick start or the Ansible examples on GitHub.

❓Where does RabbitMQ run?

A: RabbitMQ is bundled with Xray and runs on the same host. There is no separate host group or standalone deployment option for it in the Ansible collection.

Upgrades and Uninstall

❓How do I upgrade (Helm)?

A: Update the chart repo (helm repo update), review the changelog, and run helm upgrade with your existing customvalues.yaml. Pin the chart version with --version for repeatable deployments.

❓How do I upgrade (Ansible)?

A: Update the collection (ansible-galaxy collection install jfrog.platform --force), back up your external database, then re-run the same ansible-playbook command. The collection handles version upgrades in-place. Always review the changelog for breaking changes before upgrading.

❓How do I uninstall (Helm)?

A: Run helm uninstall jfrog-platform -n jfrog-platform. This removes all Kubernetes resources created by the chart. Your external database and filestore are not affected. See Uninstall Artifactory Helm Installation for details.

❓How do I uninstall (Ansible)?

A: The Ansible collection does not include an uninstall playbook. To remove JFrog products, stop the services (sudo systemctl stop artifactory xray distribution), remove the installed packages (e.g., sudo yum remove jfrog-artifactory-* or sudo apt remove jfrog-artifactory-*), and delete the data directories (/opt/jfrog). Your external database is not affected.

❓Can I upgrade from an older version directly?

A: It depends on the version gap. Minor version upgrades (e.g., 7.84 → 7.90) are generally supported in-place. Major version upgrades (e.g., 6.x → 7.x) require specific migration steps. Always check the Upgrade documentation for your source and target versions before upgrading.

Sizing and System Requirements

❓How do I size my deployment?

A: Use the following sizing resources:

Examples and Resources

❓Where can I find working examples?

A: Both installation methods have dedicated GitHub repositories with ready-to-use examples:

Helmjfrog/charts repository:

AnsibleJFrog-Cloud-Installers repository: