Step 1: Download JFrog Artifactory Docker image
There are different editions of JFrog Artifactory available, check the Comparison Matrix. If you’re not sure, install the OSS (Open Source Software) version. For more features, you can consider the Pro.
Pull the latest Docker image of JFrog Artifactory.
docker pull docker.bintray.io/jfrog/artifactory-oss:latest
docker pull docker.bintray.io/jfrog/artifactory-cpp-ce
Confirm Docker images:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.bintray.io/jfrog/artifactory-cpp-ce latest 24d943a892ac 43 hours ago 582MB
docker.bintray.io/jfrog/artifactory-oss latest 58d49856785f 43 hours ago 582MB
Step 2: Create Data Directory
Create data directory on host system to ensure data used on container is persistent.
sudo mkdir -p /jfrog/artifactory
sudo chown -R 1030 /jfrog/
Step 3: Start JFrog Artifactory container
To start an Artifactory container, use the command:
docker run --name artifactory -d \
-p 8081:8081 \
-p 8082:8082 \
-v /jfrog/artifactory:/var/opt/jfrog/artifactory \
docker.bintray.io/jfrog/artifactory-oss:latest
Check container status:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1ca55e851bd3 docker.bintray.io/jfrog/artifactory-oss:latest "/entrypoint-artifac…" 4 seconds ago Up 2 seconds 0.0.0.0:8081-8082->8081-8082/tcp, :::8081-8082->8081-8082/tcp artifactory
ubuntu@lorna-ubuntu20:~$ docker ps
You can pass Java system properties to the JVM running Artifactory using EXTRA_JAVA_OPTIONS. Check more on Docker setup link. See example below.
docker run --name artifactory -d \
-p 8081:8081 \
-p 8082:8082 \
-v /jfrog/artifactory:/var/opt/jfrog/artifactory \
-e EXTRA_JAVA_OPTIONS='-Xms512m -Xmx2g -Xss256k -XX:+UseG1GC' \
docker.bintray.io/jfrog/artifactory-pro:latest
Step 4: Running JFrog Artifactory container with Systemd
Systemd is the default init system for Ubuntu20.04|18.04|16.04. We can use it to manage JFrog Artifactory container.
Create Artifactory service unit file.
sudo vim /etc/systemd/system/artifactory.service
Add:
[Unit]
Description=Setup Systemd script for Artifactory Container
After=network.target
[Service]
Restart=always
ExecStartPre=-/usr/bin/docker kill artifactory
ExecStartPre=-/usr/bin/docker rm artifactory
ExecStart=/usr/bin/docker run --name artifactory -p 8081:8081 -p 8082:8082 \
-v /jfrog/artifactory:/var/opt/jfrog/artifactory \
docker.bintray.io/jfrog/artifactory-oss:latest
ExecStop=-/usr/bin/docker kill artifactory
ExecStop=-/usr/bin/docker rm artifactory
[Install]
WantedBy=multi-user.target
Reload systemd.
sudo systemctl daemon-reload
Then start Artifactory container with systemd.
sudo systemctl start artifactory
Enable it to start at system boot.
sudo systemctl enable artifactory
Status can be checked with:
sudo systemctl status artifactory
Sample output:
artifactory service status docker
Also check service binding with:
$ ss -tunelp | grep 8081
tcp LISTEN 0 128 *:8081 *:* users:(("docker-proxy",pid=2820,fd=4)) ino:117162 sk:b v6only:0 <->
Step 5: Access Artifactory Web Interface
Artifactory can be accessed using the following URL:
http://SERVERIP_OR_DOMAIN:8081/artifactory You should see Artifactory welcome page.
welcome to artifactory Follow setup instructions that follows.
Artifactory create repositories Artifactory finish installation Once you complete JFrog Artifactory on Ubuntu 18.04, you should get to Administration dashboard.
Artifactory complete installation Step 7: Configure Nginx reverse proxy (Optional) If you want to use Nginx as Proxy with SSL, check out the guide below:
Configure JFrog Artifactory behind Nginx reverse proxy and Let’s Encrypt SSL
Conclusion JFrog Artifactory is a Universal Repository Manager supporting all major packaging formats, build tools and CI servers. Visit the Artifactory Documentation for more features and usage guides.