Install Artifactory via Docker Compose
Steps to install Artifactory OSS in an Ubuntu VM.
Overview
I would be following the steps as explained in the JFrog Wiki. My goal was to get artifactory oss running on a Ubuntu VM in a quick start way and explore some of the inner workings under the hood. Obviously if you are looking to get going with the JFrog platform for an enterprise I would recommend reviewing documentation and start here
Prerequisites
The things that you will need:
- π Docker
- π DockerCompose
- π Vagrant
- π VirtualBox
Below are the steps I followed. You could follow along if you have got the prerequisites ready. If not jump to the vagrant file section where I script all these steps along with the prerequisites.
Step 1: Docker volumes
Create named Docker volumes so that you could manage the artifactory data and do backup/restore/upgrade easily.
docker volume create --name=artifactory_data
docker volume create --name=postgres_data
Step 2: Docker Compose archive
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. At the time of writing this post the latest artifactory oss release was “7.27.6”
wget https://releases.jfrog.io/artifactory/bintray-artifactory/org/artifactory/oss/docker/jfrog-artifactory-oss/7.27.6/jfrog-artifactory-oss-7.27.6-compose.tar.gz
tar -xvf jfrog-artifactory-oss-7.27.6-compose.tar.gz
Step 3: Setup docker-compose.yaml
Copy the docker-compose-volumes.yaml to the extracted folder.
cp templates/docker-compose-volumes.yaml docker-compose.yaml
Step 4: Add the 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
Step 5: Manage Artifactory
Using native Docker Compose commands from the extracted folder.
docker-compose -p rt up -d
docker-compose -p rt ps
docker-compose -p rt down
Vagrant
Wouldn’t it be nice to get all of this going at one go! I thought so too. So I created a Vagrant file just for that. Check it out in GitHub
All you would need to do is clone the repo and do:
vagrant up
That’s it! π¨ And you have a working standalone installation of Artifactory OSS.
Login at http://SERVER_IP:8082/ui/
Next steps
There were few other steps I had to take to get artifactory working in a meaningful way in my machine:
- Specify File Handle Allocation Limit
- Specify JVM Memory Allocation
- Specify Log Rotation
JFrog is the numero uno in the enterprise as a binary repository management and there’s a lot to explore here.
Start with JFROG Wiki