Review the system requirements before you proceed with the installation.
Additionally, review Docker specific requirements.
Docker Requirements
For Docker and Docker Compose installations, JFrog services require Docker 20.10.10 and above, and Docker Compose v1.24 and above to be installed on the machine on which you want to run on.
For install instructions, refer to the Docker and the Docker Compose documentation.
Installation Steps
Complete the following steps to install the product.
Redhat UBI Micro base image
In an effort to provide a more secure Artifactory image, Artifactory now uses the Redhat UBI Micro base image. Some of the tools that were available in the Artifactory image are not available in this more secure image. For more information, see JFrog Products Container Base Image.
Go to the download page, click the green arrow to download Docker Compose. Extract the contents of the compressed archive (.tar.gz file) and then go to the extracted folder.
tar -xvf jfrog-artifactory-<pro|oss|jcr|cpp-ce>-<version>-compose.tar.gz
.env file included within the Docker-Compose archive
This .env file is used by docker-compose and is updated during installations and upgrades.
Notice that some operating systems do not display dot files by default. If you make any changes to the file, remember to backup before an upgrade.
Run the interactive script to setup folders with required ownership.
bash ./config.sh
Customize the product configuration (optional) including database, Java Opts, and filestore.
Depending on your choices, a selected
docker-compose.yaml
will be available in the extracted folder. However, there are a few docker-compose templates in the directory templates. You can choose any template and copy it to the extracted folder asdocker-compose.yaml
.Note
For Docker installations, verify that the host's ID
shared.node.id
and IPshared.node.ip
are added to thesystem.yaml
.If these are not manually added, they are automatically resolved as the container's IP, meaning other nodes and services will not be able to reach this instance.
Docker for Mac
When you use Docker Compose in Mac,
/etc/localtime
might not work as expected since it might not be a shared location in the docker-for-mac settings.You can remove the following line from the selected
docker-compose.yaml
file to avoid installation issues.Manage Artifactory using native Docker Compose commands,
docker-compose -p rt <action> command
.Run these commands from the extracted folder.
# Starting from 7.8.x, PostgreSQL needs to be started before starting the other services. docker-compose -p rt-postgres -f docker-compose-postgres.yaml up -d docker-compose -p rt up -d docker-compose -p rt ps docker-compose -p rt down
Access Artifactory from your browser at:
http://SERVER_HOSTNAME:8082/ui/
. For example, on your local machine:http://localhost:8082/ui/
.Check Artifactory Log.
docker-compose -p rt logs
Configure log rotation of the console log
The
console.log
file can grow quickly since all services write to it. For more information, see configure the log rotation.
Docker Compose Installation using Docker Volumes
Create Docker volumes.
docker volume create --name=artifactory_data docker volume create --name=postgres_data
Extract the contents of the compressed archive and go to the extracted folder.
tar -xvf jfrog-artifactory-<pro|oss|cpp-ce>-<version>-compose.tar.gz
Copy the
docker-compose-volumes.yaml
to the extracted folder.cp templates/docker-compose-volumes.yaml docker-compose.yaml
Add the entries in the
.env
file.Avoid adding duplicate entries in the
.env
file.echo -e "JF_SHARED_NODE_IP=$(hostname -i)" >> .env echo -e "JF_SHARED_NODE_ID=$(hostname -s)" >> .env echo -e "JF_SHARED_NODE_NAME=$(hostname -s)" >> .env
Manage Artifactory using native Docker Compose commands:
docker-compose -p rt <action> command
.Run these commands from the extracted folder.
docker-compose -p rt up -d docker-compose -p rt ps docker-compose -p rt down
Artifactory Manual Docker Compose Installation
Go to the download page, click the green arrow to download Docker Compose. Extract the contents of the compressed archive (.tar.gz file) and then go to the extracted folder.
tar -xvf jfrog-artifactory-<pro|oss|cpp-ce>-<version>-compose.tar.gz
.env file included within the Docker-Compose archive
This .env file is used by docker-compose and is updated during installations and upgrades.
Notice that some operating systems do not display dot files by default. If you've made any changes to the file, remember to backup before an upgrade.
Create the following folder structure under
$JFROG_HOME/artifactory
-- [1030 1030 ] var |-- [1030 1030 ] data | |-- [104 107] nginx - Necessary if you want to add nginx | `-- [999 999] postgres - Necessary if you want to add postgres |-- [1030 1030 ] etc
Enter the following commands in order so that you can set the ownership correctly.
chown -R 1030:1030 $JFROG_HOME/artifactory/var chown -R 1030:1030 $JFROG_HOME/artifactory/var/data chown -R 1030:1030 $JFROG_HOME/artifactory/var/etc chown -R 104:107 $JFROG_HOME/artifactory/var/data/nginx chown -R 999:999 $JFROG_HOME/artifactory/var/data/postgres
Copy the appropriate docker-compose templates from the templates folder to the extracted folder. Rename it as
docker-compose.yaml
Requirement
Template
Artifactory + Derby (inbuilt database)
docker-compose.yaml
Artifactory + Postgres
docker-compose-postgres.yaml
Artifactory + Nginx
docker-compose-nginx.yaml
Update the .env file with the installation directory.
ROOT_DATA_DIR=$JFROG_HOME/artifactory ##Enter the exact value of $JFROG_HOME. For example, /root/.jfrog.
Customize the product configuration.
Customize the PostgreSQL Database connection details. (optional)
Set any additional configurations (for example: ports, node id) using the Artifactory
system.yaml
configuration file .Note
Ensure the host's ID "shared.node.id" and IP "shared.node.ip" are added to the
system.yaml
. If these are not added, the container's IP will be used and other Platform Deployments, products will be unable to reach this instance
Start Artifactory using docker-compose commands.
docker-compose -p rt logs docker-compose -p rt ps docker-compose -p rt up -d docker-compose -p rt down
Access Artifactory from your browser at:
http://SERVER_HOSTNAME:8082/ui/
. For example, on your local machine:http://localhost:8082/ui/
.Check Artifactory Log.
docker-compose -p rt logs
Configure log rotation of the console log
The
console.log
file can grow quickly since all services write to it. For more information, see configure the log rotation.