====== Errigal Artifactory / Nexus Sonatype ======
--- //[[anna.dowling@errigal.com|Anna Dowling]] 2018/01/08 08:53//
--- //[[anthony.ryan@errigal.com|Anthony Ryan]] 2023/02/03//
This article outlines basic server access details for artifactory.
new artifactory at http://artifactory.errigal.com is run as a Nexus docker container via docker-compose.yml file, located at ''ubuntu@10.91.133.220:/home/ubuntu/docker/nexus/docker-compose.yml''
docker compose up -d
Stopped using docker compose down
restarts are done via docker compose down; docker compose up
**Location:**
* The Artifactory server is hosted on our Waterford openstack.
**Access:**
* The key for accessing this account can be found on dropbox in the following location:
* ssh to the server via ssh ubuntu@10.91.133.220
**URL:**
* http://artifactory.errigal.com/
** Out of Space Issues **
If the nexus server drops below 4G you will see in the logs the DB has moved to read only
The only known approach so far is
* login to the docker container as root ** sudo docker exec -u 0 -it nexus /bin/bash
**
* edit the **nexus.vmoptions** file located in **cd /opt/sonatype/nexus/bin/**
* or **vi /opt/sonatype/nexus/bin/nexus.vmoptions**
* add or uncomment the following line **-Dstorage.diskCache.diskFreeSpaceLimit=1024
**
* exit docker bash
* restart nexus **sudo docker restart nexus**
* the Nexus is now in an editable state and artifacts can be removed in an effort to claim back space
===== Cheats approach =====
* edit file and remove # from last line
* **sudo docker exec -u 0 -it nexus vi /opt/sonatype/nexus/bin/nexus.vmoptions**
* restart nexus **sudo docker restart nexus**
Once you have deleted number of artifacts, (start with largest first, to get going) you must run the **Compact Blob store** task to reduce space
* Go to the tasks list under the Admin tab (you must be logged in)
* run the Compact process, as its only set to weekly due to length of execution
* This may affect the artifactory being written to (it has performance implications)
{{:development:2023-nexus-compact-blob-store.jpg?400|}}
* on success run the **df -h** command and verify that the disk space is > 3G
* **/dev/nvme0n1p1 60G 53G 7.5G 88% /**
===== Enable Admin Execute Script =====
Nexus allows the execution of groovy scripts on the repo, which is useful to find largest files etc
but this must be enabled
Reference [[https://support.sonatype.com/hc/en-us/articles/360045220393-Scripting-Nexus-Repository-Manager-3|Sonatype Support page]]
* Edit $data-dir/etc/nexus.properties.
* Add the following on a new line, making sure the file is saved with an ending new line and with the original file permissions:
nexus.scripts.allowCreation=true
* Restart NXRM to pick up the property change.
===== Configure Cleanup Policy =====
The artifactory needs to ensure that older redundant builds are periodically cleaned out, otherwise it will quickly fill up. SnmpManager is a large war file on its own.
To do this we use the Clean Up Policy Manager, example configuration deletes after 15 days
{{:development:nexus_clean_up_policy_example.png?400|}}