docker.recipes

JFrog Artifactory

intermediate

Universal artifact repository manager.

Overview

JFrog Artifactory is a universal binary repository manager that serves as a central hub for storing, organizing, and distributing software artifacts across the entire development lifecycle. Originally launched by JFrog in 2008, Artifactory has become the industry standard for artifact management, supporting virtually every package format including Maven, npm, Docker, PyPI, NuGet, Helm, and dozens more. It acts as a single source of truth for all binaries, providing version control, security scanning, and metadata management for development teams worldwide. This Docker stack deploys Artifactory OSS with Derby embedded database, creating a self-contained artifact repository that can immediately begin serving Maven, Gradle, Ivy, and SBT repositories. The configuration exposes both the main UI port (8082) and the Tomcat access port (8081), while persisting all repository data and configuration through Docker volumes. This setup transforms any development environment into a professional-grade artifact management system within minutes. Development teams seeking to implement proper DevOps practices, maintain consistent dependency management, and establish reliable CI/CD pipelines will find this stack invaluable. The OSS version provides enterprise-grade repository management capabilities without licensing costs, making it perfect for small to medium teams, open source projects, and organizations beginning their artifact management journey before potentially upgrading to Artifactory Pro or Enterprise versions.

Key Features

  • Universal repository support for Maven, Gradle, Ivy, and SBT package formats with full metadata indexing
  • Virtual repository aggregation combining multiple repositories into single access endpoints
  • Advanced artifact search and filtering with property-based queries and build information tracking
  • Repository replication and synchronization capabilities for distributed development teams
  • Built-in security features including user authentication, permission management, and artifact checksums
  • REST API and JFrog CLI integration for automated artifact upload, download, and management
  • Derby embedded database providing zero-configuration persistence and transaction management
  • Comprehensive audit trails and activity logging for compliance and debugging purposes

Common Use Cases

  • 1Centralizing Maven dependencies for Java development teams to ensure consistent builds across environments
  • 2Establishing internal package repositories for proprietary libraries and shared components
  • 3Implementing CI/CD pipeline artifact storage with automated build promotion workflows
  • 4Creating proxy repositories to cache external dependencies and reduce internet bandwidth usage
  • 5Managing release artifacts and versioning for software distribution and deployment processes
  • 6Setting up development environment artifact caching to improve build times and reliability
  • 7Hosting internal documentation and binary assets for team collaboration and knowledge sharing

Prerequisites

  • Docker Engine 20.10+ and Docker Compose V2 for container orchestration support
  • Minimum 4GB RAM allocated to Docker with 8GB recommended for production workloads
  • Available ports 8081 and 8082 for Artifactory web interface and Tomcat access
  • At least 10GB free disk space for artifact storage with growth planning considerations
  • Basic understanding of repository management concepts and Maven/Gradle build systems
  • Network connectivity for downloading Artifactory Docker image and external repository proxying

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 artifactory:
3 image: releases-docker.jfrog.io/jfrog/artifactory-oss:latest
4 container_name: artifactory
5 restart: unless-stopped
6 ports:
7 - "8081:8081"
8 - "8082:8082"
9 volumes:
10 - artifactory_data:/var/opt/jfrog/artifactory
11 environment:
12 JF_SHARED_DATABASE_TYPE: derby
13
14volumes:
15 artifactory_data:

.env Template

.env
1# Default credentials: admin/password

Usage Notes

  1. 1Docs: https://jfrog.com/help/r/jfrog-artifactory-documentation
  2. 2Access at http://localhost:8082 - default: admin/password
  3. 3OSS version supports Maven, Gradle, Ivy, SBT
  4. 4Pro version adds npm, Docker, PyPI, NuGet, Helm, Go, etc.
  5. 5Virtual repos aggregate multiple repos into single endpoint
  6. 6JFrog CLI: jfrog rt upload/download for artifact management

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 artifactory:
5 image: releases-docker.jfrog.io/jfrog/artifactory-oss:latest
6 container_name: artifactory
7 restart: unless-stopped
8 ports:
9 - "8081:8081"
10 - "8082:8082"
11 volumes:
12 - artifactory_data:/var/opt/jfrog/artifactory
13 environment:
14 JF_SHARED_DATABASE_TYPE: derby
15
16volumes:
17 artifactory_data:
18EOF
19
20# 2. Create the .env file
21cat > .env << 'EOF'
22# Default credentials: admin/password
23EOF
24
25# 3. Start the services
26docker compose up -d
27
28# 4. View logs
29docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/artifactory/run | bash

Troubleshooting

  • Artifactory fails to start with memory errors: Increase Docker memory limit to minimum 4GB in Docker Desktop settings
  • Cannot access web interface at localhost:8082: Verify port 8082 is not in use by another service and check firewall settings
  • Derby database corruption on container restart: Ensure proper container shutdown and consider upgrading to PostgreSQL for production use
  • Upload failures with permission denied errors: Check default admin credentials (admin/password) and verify repository write permissions
  • Slow artifact resolution and downloads: Configure virtual repositories properly and check disk I/O performance on host system
  • Container exits with JF_SHARED_DATABASE_TYPE errors: Verify environment variable syntax and ensure Derby driver compatibility with Artifactory version

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Ad Space