# Nexus Repository
## Refs
https://www.sonatype.com
[Nexus Repoistory OSS](https://www.sonatype.com/products/repository-oss?topnav=true)
[System Requirements](https://help.sonatype.com/repomanager3/product-information/system-requirements)
[Docker Image](https://hub.docker.com/r/sonatype/nexus3/)
## Запуск
```bash
mkdir /home/zoid/tmp/nexus-data
chown -R 200 /home/zoid/tmp/nexus-data
docker run -d --rm \
-p 8081:8081 \
--ulimit nofile=65536:65536 \
--name nexus \
-v /home/zoid/tmp/nexus-data:/nexus-data \
sonatype/nexus3:latest
# --- cat admin password
cat /home/zoid/tmp/nexus-data/admin.password
# --- stop container
docker stop --time=120 nexus
```
## Работаем в Nexus
```bash
# --- upload tgz
curl https://nexus.example.com/repository/my-charts/ \
--upload-file $CHART_NAME-*.tgz \
--cacert $MY_CERT \
-v \
--http1.1
# --- upload files
# --- --- curl
curl https://nexus.example.com/repository/raw/build-data-model.tbz --upload-file build-data-model.tbz
# удаление
curl -X DELETE https://nexus.example.com/repository/raw/build-data-model.tbz
# --- --- purl
# выгрузка файла РАБОТАЕТ НЕ КОРРЕКТНО !!! т.к. curl --upload-file использует FTP !!!
# см. https://curl.se/docs/manual.html
# httpie выгружает файл, но структура его нарушается
# build-data-model-httpie3 - имя файла в нексусе
# ./build-data-model-httpie.tbz - локальный файл
http -f PUT ttps://nexus.example.com/repository/raw/build-data-model-httpie.tbz \
@./build-data-model-httpie.tbz
# удаление файла
http -f DELETE https://nexus.example.com/repository/raw/build-data-model-httpie3
```