Compare commits
3 Commits
61d93d4737
...
d78ce6dc39
| Author | SHA1 | Date |
|---|---|---|
|
|
d78ce6dc39 | |
|
|
88acd8c3c0 | |
|
|
3adf24fe46 |
19
README.md
19
README.md
|
|
@ -152,14 +152,21 @@ The Web based H2 Database Console is available at https://nexus.example.com/h2-c
|
||||||
You can also access the database cli shell as:
|
You can also access the database cli shell as:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo su -l # switch to the root user.
|
sudo -i # switch to the root user.
|
||||||
systemctl stop nexus # make sure nexus is not running while you use the database.
|
systemctl stop nexus # make sure nexus is not running while you use the database.
|
||||||
su -s /bin/bash nexus # switch to the nexus user.
|
su -s /bin/bash nexus # switch to the nexus user.
|
||||||
nexus_home=/opt/nexus/nexus-3.83.2-01 # make sure you have the correct version here.
|
nexus_home=/opt/nexus/nexus-3.84.0-03 # make sure you have the correct version here.
|
||||||
nexus_data="$(realpath $nexus_home/../sonatype-work/nexus3)"
|
nexus_data="$(realpath $nexus_home/../sonatype-work/nexus3)"
|
||||||
|
install -d $nexus_data/../tmp
|
||||||
|
rm -f $nexus_data/../tmp/h2-*.jar
|
||||||
|
unzip \
|
||||||
|
-j \
|
||||||
|
-d $nexus_data/../tmp \
|
||||||
|
$nexus_home/bin/sonatype-nexus-repository-*.jar \
|
||||||
|
'BOOT-INF/lib/h2-*.jar'
|
||||||
function h2-shell {
|
function h2-shell {
|
||||||
java \
|
java \
|
||||||
-cp $nexus_home/system/com/h2database/h2/*/h2*.jar \
|
-cp $nexus_data/../tmp/h2-*.jar \
|
||||||
org.h2.tools.Shell \
|
org.h2.tools.Shell \
|
||||||
-url jdbc:h2:$nexus_data/db/nexus
|
-url jdbc:h2:$nexus_data/db/nexus
|
||||||
}
|
}
|
||||||
|
|
@ -196,6 +203,6 @@ For more information see the [available Command Line Tools](https://h2database.c
|
||||||
|
|
||||||
## Reference
|
## Reference
|
||||||
|
|
||||||
* [How to reset a forgotten admin password in Nexus 3.x](https://support.sonatype.com/hc/en-us/articles/213467158-How-to-reset-a-forgotten-admin-password-in-Nexus-3-x)
|
* [How to reset a forgotten admin password in Nexus 3.x](https://support.sonatype.com/hc/en-us/articles/213467158-How-to-reset-a-forgotten-admin-password-in-Sonatype-Nexus-Repository-3)
|
||||||
* [Backup and Restore](https://help.sonatype.com/repomanager3/backup-and-restore)
|
* [Backup and Restore](https://help.sonatype.com/en/backup-and-restore.html)
|
||||||
* [Upgrading](https://help.sonatype.com/repomanager3/upgrading)
|
* [Upgrading](https://help.sonatype.com/en/upgrade-nexus-repository.html)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
backports.tarfile==1.2.0
|
backports.tarfile==1.2.0
|
||||||
build==1.3.0
|
build==1.3.0
|
||||||
certifi==2025.8.3
|
certifi==2025.8.3
|
||||||
cffi==1.17.1
|
cffi==2.0.0
|
||||||
charset-normalizer==3.4.3
|
charset-normalizer==3.4.3
|
||||||
cryptography==45.0.7
|
cryptography==45.0.7
|
||||||
docutils==0.22
|
docutils==0.22
|
||||||
|
|
@ -18,7 +18,7 @@ mdurl==0.1.2
|
||||||
more-itertools==10.8.0
|
more-itertools==10.8.0
|
||||||
nh3==0.3.0
|
nh3==0.3.0
|
||||||
packaging==25.0
|
packaging==25.0
|
||||||
pycparser==2.22
|
pycparser==2.23
|
||||||
Pygments==2.19.2
|
Pygments==2.19.2
|
||||||
pyproject_hooks==1.2.0
|
pyproject_hooks==1.2.0
|
||||||
readme_renderer==44.0
|
readme_renderer==44.0
|
||||||
|
|
@ -26,7 +26,7 @@ requests==2.32.5
|
||||||
requests-toolbelt==1.0.0
|
requests-toolbelt==1.0.0
|
||||||
rfc3986==2.0.0
|
rfc3986==2.0.0
|
||||||
rich==14.1.0
|
rich==14.1.0
|
||||||
SecretStorage==3.3.3
|
SecretStorage==3.4.0
|
||||||
tomli==2.2.1
|
tomli==2.2.1
|
||||||
twine==6.2.0
|
twine==6.2.0
|
||||||
typing_extensions==4.15.0
|
typing_extensions==4.15.0
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,7 @@ popd
|
||||||
|
|
||||||
|
|
||||||
# install and configure nginx to proxy to nexus.
|
# install and configure nginx to proxy to nexus.
|
||||||
# see https://help.sonatype.com/repomanager3/planning-your-implementation/run-behind-a-reverse-proxy
|
# see https://help.sonatype.com/en/run-behind-a-reverse-proxy.html
|
||||||
apt-get install -y --no-install-recommends nginx
|
apt-get install -y --no-install-recommends nginx
|
||||||
wget -qO /etc/ssl/certs/dhparam.pem https://ssl-config.mozilla.org/ffdhe2048.txt
|
wget -qO /etc/ssl/certs/dhparam.pem https://ssl-config.mozilla.org/ffdhe2048.txt
|
||||||
sed -i -E 's/^(\s*)((ssl_protocols|ssl_ciphers|ssl_prefer_server_ciphers)\s)/\1# \2/' /etc/nginx/nginx.conf
|
sed -i -E 's/^(\s*)((ssl_protocols|ssl_ciphers|ssl_prefer_server_ciphers)\s)/\1# \2/' /etc/nginx/nginx.conf
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ config_authentication='nexus'
|
||||||
|
|
||||||
|
|
||||||
# install java.
|
# install java.
|
||||||
# see https://help.sonatype.com/repomanager3/product-information/system-requirements#SystemRequirements-Java
|
# see https://help.sonatype.com/en/sonatype-nexus-repository-system-requirements.html#SystemRequirements-Java
|
||||||
apt-get install -y openjdk-17-jre-headless
|
apt-get install -y openjdk-17-jre-headless
|
||||||
apt-get install -y gnupg
|
apt-get install -y gnupg
|
||||||
|
|
||||||
|
|
@ -32,15 +32,15 @@ install -d -o root -g nexus -m 750 /opt/nexus
|
||||||
# download and install nexus.
|
# download and install nexus.
|
||||||
pushd /opt/nexus
|
pushd /opt/nexus
|
||||||
# see https://www.sonatype.com/download-oss-sonatype
|
# see https://www.sonatype.com/download-oss-sonatype
|
||||||
# see https://help.sonatype.com/repomanager3/product-information/download/download-archives---repository-manager-3
|
# see https://help.sonatype.com/en/download-archives---repository-manager-3.html
|
||||||
# see https://help.sonatype.com/repomanager3/product-information/release-notes
|
# see https://help.sonatype.com/en/release-notes.html
|
||||||
# see https://help.sonatype.com/repomanager3
|
# see https://help.sonatype.com/en/sonatype-nexus-repository.html
|
||||||
nexus_version=3.83.2-01
|
nexus_version=3.84.0-03
|
||||||
nexus_home=/opt/nexus/nexus-$nexus_version
|
nexus_home=/opt/nexus/nexus-$nexus_version
|
||||||
nexus_tarball=nexus-$nexus_version-linux-x86_64.tar.gz
|
nexus_tarball=nexus-$nexus_version-linux-x86_64.tar.gz
|
||||||
nexus_download_url=https://download.sonatype.com/nexus/3/$nexus_tarball
|
nexus_download_url=https://download.sonatype.com/nexus/3/$nexus_tarball
|
||||||
wget -q $nexus_download_url
|
wget -q $nexus_download_url
|
||||||
tar xf $nexus_tarball # NB this creates the $nexus_home (e.g. nexus-3.83.2-01) and sonatype-work directories.
|
tar xf $nexus_tarball # NB this creates the $nexus_home (e.g. nexus-3.84.0-03) and sonatype-work directories.
|
||||||
rm $nexus_tarball
|
rm $nexus_tarball
|
||||||
sed -i -E 's,#!.+,#!/usr/bin/bash,g' "$nexus_home/bin/nexus"
|
sed -i -E 's,#!.+,#!/usr/bin/bash,g' "$nexus_home/bin/nexus"
|
||||||
install -d -o nexus -g nexus -m 700 .java # java preferences are saved here (the default java.util.prefs.userRoot preference).
|
install -d -o nexus -g nexus -m 700 .java # java preferences are saved here (the default java.util.prefs.userRoot preference).
|
||||||
|
|
@ -115,7 +115,7 @@ wget -qO- https://$nexus_domain/service/extdirect/poll/rapture_State_get | jq .d
|
||||||
|
|
||||||
# generate a gpg key for the apt-hosted repository.
|
# generate a gpg key for the apt-hosted repository.
|
||||||
# see https://www.gnupg.org/documentation//manuals/gnupg/Unattended-GPG-key-generation.html
|
# see https://www.gnupg.org/documentation//manuals/gnupg/Unattended-GPG-key-generation.html
|
||||||
# see https://help.sonatype.com/repomanager3/formats/apt-repositories
|
# see https://help.sonatype.com/en/apt-repositories.html
|
||||||
# see https://wiki.archlinux.org/index.php/GnuPG#Unattended_passphrase
|
# see https://wiki.archlinux.org/index.php/GnuPG#Unattended_passphrase
|
||||||
export GNUPGHOME="$(mktemp -d)"
|
export GNUPGHOME="$(mktemp -d)"
|
||||||
cat >"$GNUPGHOME/apt-hosted-gpg-batch" <<EOF
|
cat >"$GNUPGHOME/apt-hosted-gpg-batch" <<EOF
|
||||||
|
|
@ -206,7 +206,7 @@ EOF
|
||||||
|
|
||||||
|
|
||||||
# create the apt-hosted apt repository.
|
# create the apt-hosted apt repository.
|
||||||
# see https://help.sonatype.com/repomanager3/formats/apt-repositories
|
# see https://help.sonatype.com/en/apt-repositories.html
|
||||||
http \
|
http \
|
||||||
--check-status \
|
--check-status \
|
||||||
--auth "$api_auth" \
|
--auth "$api_auth" \
|
||||||
|
|
@ -236,7 +236,7 @@ EOF
|
||||||
|
|
||||||
|
|
||||||
# create the npm-hosted npm repository.
|
# create the npm-hosted npm repository.
|
||||||
# see https://help.sonatype.com/display/NXRM3/Node+Packaged+Modules+and+npm+Registries
|
# see https://help.sonatype.com/en/npm-registry.html
|
||||||
http \
|
http \
|
||||||
--check-status \
|
--check-status \
|
||||||
--auth "$api_auth" \
|
--auth "$api_auth" \
|
||||||
|
|
@ -259,7 +259,7 @@ EOF
|
||||||
|
|
||||||
|
|
||||||
# create the npmjs.org-proxy npm proxy repository.
|
# create the npmjs.org-proxy npm proxy repository.
|
||||||
# see https://help.sonatype.com/display/NXRM3/Node+Packaged+Modules+and+npm+Registries
|
# see https://help.sonatype.com/en/npm-registry.html
|
||||||
http \
|
http \
|
||||||
--check-status \
|
--check-status \
|
||||||
--auth "$api_auth" \
|
--auth "$api_auth" \
|
||||||
|
|
@ -292,7 +292,7 @@ EOF
|
||||||
|
|
||||||
|
|
||||||
# create the npm-group npm group repository.
|
# create the npm-group npm group repository.
|
||||||
# see https://help.sonatype.com/display/NXRM3/Node+Packaged+Modules+and+npm+Registries
|
# see https://help.sonatype.com/en/npm-registry.html
|
||||||
http \
|
http \
|
||||||
--check-status \
|
--check-status \
|
||||||
--auth "$api_auth" \
|
--auth "$api_auth" \
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ binaries: binaries-download
|
||||||
|
|
||||||
binaries-download:
|
binaries-download:
|
||||||
mkdir -p binaries
|
mkdir -p binaries
|
||||||
wget -qO- https://download.sonatype.com/nexus/3/nexus-3.83.2-01-unix.tar.gz \
|
wget -qO- https://download.sonatype.com/nexus/3/nexus-3.84.0-03-unix.tar.gz \
|
||||||
| tar xzf - --strip-components 1 -C binaries
|
| tar xzf - --strip-components 1 -C binaries
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<nx-version>3.83.2-01</nx-version>
|
<nx-version>3.84.0-03</nx-version>
|
||||||
</properties>
|
</properties>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ debuild -i -us -uc -b
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# upload.
|
# upload.
|
||||||
# see https://help.sonatype.com/repomanager3/formats/apt-repositories
|
# see https://help.sonatype.com/en/apt-repositories.html
|
||||||
apt-get install -y curl
|
apt-get install -y curl
|
||||||
curl \
|
curl \
|
||||||
--fail \
|
--fail \
|
||||||
|
|
@ -34,9 +34,16 @@ curl \
|
||||||
nexus_apt_hosted_keyring_path="/etc/apt/keyrings/$nexus_domain-apt-hosted.gpg"
|
nexus_apt_hosted_keyring_path="/etc/apt/keyrings/$nexus_domain-apt-hosted.gpg"
|
||||||
gpg --dearmor -o "$nexus_apt_hosted_keyring_path" </vagrant/shared/apt-hosted-public.key
|
gpg --dearmor -o "$nexus_apt_hosted_keyring_path" </vagrant/shared/apt-hosted-public.key
|
||||||
|
|
||||||
# install the hello-world package.
|
# configure the apt-hosted repository.
|
||||||
echo "deb [arch=amd64 signed-by=$nexus_apt_hosted_keyring_path] https://$nexus_domain/repository/apt-hosted jammy main" >"/etc/apt/sources.list.d/$nexus_domain-apt-hosted.list"
|
echo "deb [arch=amd64 signed-by=$nexus_apt_hosted_keyring_path] https://$nexus_domain/repository/apt-hosted jammy main" >"/etc/apt/sources.list.d/$nexus_domain-apt-hosted.list"
|
||||||
apt-get update
|
# NB for some odd reason, nexus 3.84.0-03, does not immediately sign the
|
||||||
|
# repository metadata after a package is uploaded, so to prevent the
|
||||||
|
# following error, we loop until apt-get update succeeds.
|
||||||
|
# E: The repository 'https://nexus.example.com/repository/apt-hosted jammy Release' is not signed.
|
||||||
|
# see https://github.com/sonatype/nexus-public/issues/725
|
||||||
|
while ! apt-get update; do sleep 5; done
|
||||||
|
|
||||||
|
# install the hello-world package.
|
||||||
apt-get install -y hello-world
|
apt-get install -y hello-world
|
||||||
apt-cache show hello-world
|
apt-cache show hello-world
|
||||||
apt-cache policy hello-world
|
apt-cache policy hello-world
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ mkdir -p tmp/use-npm-repository && cd tmp/use-npm-repository
|
||||||
|
|
||||||
#
|
#
|
||||||
# test the npm repositories.
|
# test the npm repositories.
|
||||||
# see https://help.sonatype.com/display/NXRM3/Node+Packaged+Modules+and+npm+Registries
|
# see https://help.sonatype.com/en/npm-registry.html
|
||||||
# see https://docs.npmjs.com/private-modules/ci-server-config
|
# see https://docs.npmjs.com/private-modules/ci-server-config
|
||||||
# see https://docs.npmjs.com/cli/adduser
|
# see https://docs.npmjs.com/cli/adduser
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,7 @@ mkdir -p tmp/use-nuget-repository && cd tmp/use-nuget-repository
|
||||||
|
|
||||||
#
|
#
|
||||||
# test the NuGet repository.
|
# test the NuGet repository.
|
||||||
# see https://help.sonatype.com/repomanager3/formats/nuget-repositories
|
# see https://help.sonatype.com/en/nuget-repositories.html
|
||||||
# see https://help.sonatype.com/repomanager3/formats/nuget-repositories/grouping-nuget-repositories
|
|
||||||
|
|
||||||
# install the dotnet sdk.
|
# install the dotnet sdk.
|
||||||
if ! which dotnet; then
|
if ! which dotnet; then
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ set +x && source .venv/bin/activate && set -x
|
||||||
|
|
||||||
# create the hello_world package.
|
# create the hello_world package.
|
||||||
# see https://packaging.python.org/en/latest/tutorials/packaging-projects/
|
# see https://packaging.python.org/en/latest/tutorials/packaging-projects/
|
||||||
# see https://help.sonatype.com/repomanager3/nexus-repository-administration/formats/pypi-repositories
|
# see https://help.sonatype.com/en/pypi-repositories.html
|
||||||
# NB requirements.txt was created as:
|
# NB requirements.txt was created as:
|
||||||
# python3 -m pip install build twine
|
# python3 -m pip install build twine
|
||||||
# python3 -m pip freeze >requirements.txt
|
# python3 -m pip freeze >requirements.txt
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ Set-Location tmp/use-npm-repository
|
||||||
|
|
||||||
#
|
#
|
||||||
# test the npm repositories.
|
# test the npm repositories.
|
||||||
# see https://help.sonatype.com/display/NXRM3/Node+Packaged+Modules+and+npm+Registries
|
# see https://help.sonatype.com/en/npm-registry.html
|
||||||
# see https://docs.npmjs.com/private-modules/ci-server-config
|
# see https://docs.npmjs.com/private-modules/ci-server-config
|
||||||
# see https://docs.npmjs.com/cli/adduser
|
# see https://docs.npmjs.com/cli/adduser
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ gitea_version='1.24.5'
|
||||||
# see https://hub.docker.com/r/renovate/renovate/tags
|
# see https://hub.docker.com/r/renovate/renovate/tags
|
||||||
# see https://github.com/renovatebot/renovate/releases
|
# see https://github.com/renovatebot/renovate/releases
|
||||||
# renovate: datasource=docker depName=renovate/renovate
|
# renovate: datasource=docker depName=renovate/renovate
|
||||||
renovate_version='41.97.7'
|
renovate_version='41.98.2'
|
||||||
|
|
||||||
# clean.
|
# clean.
|
||||||
echo 'Deleting existing Gitea...'
|
echo 'Deleting existing Gitea...'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue