Nexus установка и настройка проксирования

Thank you for reading this post, don't forget to subscribe!

Уста­нов­ка про­из­во­дит­ся на Ubuntu 16.04, внеш­ние запро­сы при­ни­ма­ет nginx, nexus нахо­дит­ся внут­ри докер контейнера.
Уста­нов­ка nginx
Обно­вим систе­му, уста­но­вим пакет, и доба­вим nginx в автозагрузку
sudo apt update
sudo apt install nginx -y
sudo systemctl enable nginx

редак­ти­ру­ем конфигурацию
vi /etc/nginx/nginx.conf

 

 

 

созда­ем ssl.conf
vi ssl.conf

 

 

 

созда­дим ката­лог cert и поло­жим туда сертификаты
mkdir -p /etc/nginx/cert
chmod 700 /etc/nginx/cert
cp ~/domain.ru.key /etc/nginx/cert/nexus.domain.ru.key
cp ~/domain.ru.crt /etc/nginx/cert/nexus.domain.ru.crt

редак­ти­ру­ем proxy_params
vi proxy_params

 

 

 

пере­за­пу­стим кон­фи­гу­ра­цию и сервис
systemctl reload nginx.service
systemctl restart nginx.service

Уста­нов­ка docker
непо­сред­ствен­но установка
wget -qO- https://get.docker.com/ | sh

доба­вим теку­ще­го поль­зо­ва­те­ля в груп­пу docker
sudo usermod -aG docker $(whoami)

уста­нов­ка python-pip
sudo apt-get -y install python-pip

Уста­нов­ка Docker Compose
sudo pip install docker-compose

созда­ние docker compose фай­ла для nexus
vi docker-compose.yml

 

 

 

запуск кон­тей­не­ра
docker-compose up -d
дан­ные кон­тей­не­ра nexus нахо­дят­ся в ката­ло­ге /var/lib/docker/volumes/nexus_data/_data/
в част­но­сти пароль учет­ной запи­си admin нахо­дит­ся в фай­ле /var/lib/docker/volumes/nexus_data/_data/admin.password
кото­рый необ­хо­ди­мо сме­нить при пер­вом вхо­де, а так­же будет пред­ло­же­но вклю­чить ано­ним­ный доступ (не включаем).
посмот­реть логи
docker-compose logs -f --tail=100

посмот­реть запу­щен­ные контейнеры
docker-compose ps
Настрой­ка firewall ufw
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 8081
sudo ufw allow 5000
sudo ufw default allow outgoing
sudo ufw enable

Настрой­ка прок­си­ро­ва­ния на уда­лен­ный nexus
Создать репо­зи­то­рий, напри­мер docker (proxy)
В настрой­ках это­го репо­зи­то­рия указать:
Repository Connectors - HTTP: 5000
Docker Registry API Support - Enable Docker V1 API - поста­вить галку
Remote storage - это ссыл­ка на уда­лен­ный nexus, напри­мер http://nexus.company.com:5000
HTTP - Authentification - поста­вить гал­ку и вне­сти логин и пароль уда­лен­но­го nexus
Далее создать роли и поль­зо­ва­те­лей для под­клю­че­ния к это­му прок­си nexus