私有化部署Nexus3镜像源
昨天升级 Nexus3 翻车了,准备基于 PG 重新搭建 Nexus3 源,并移除一些不用的软件源, 新版软件源支持如下
环境要求
- 机器配置至少 2C4G
- 网络要好,推荐境外机器部署
- 大硬盘可选(不代理 py 等还好)
部署
nexus 服务
使用 compose 或者 k8s,原理差不多,我的环境使用 k3s。
- docker-compose.yaml
services:
nexus3:
image: sonatype/nexus3:latest
container_name: nexus3
restart: always
ports:
- "8081:8081"
environment:
- INSTALL4J_ADD_VM_PARAMS=-Xms2703m -Xmx4G -XX:MaxDirectMemorySize=2703m -Djava.util.prefs.userRoot=/nexus-data/javaprefs
- NEXUS_DATASTORE_ENABLED=true
- NEXUS_DATASTORE_NEXUS_JDBCURL=jdbc:postgresql://postgres:5432/nexus3
- NEXUS_DATASTORE_NEXUS_USERNAME=oup44Fai4ta
- NEXUS_DATASTORE_NEXUS_PASSWORD=ienah9eiquah7GeiMaengeitie5aeq66
volumes:
- /data/nexus/nexusdata:/nexus-data
depends_on:
- postgres
postgres:
image: bitnami/postgresql:17
container_name: postgres
environment:
- POSTGRESQL_DATABASE=nexus3
- POSTGRESQL_USERNAME=oup44Fai4ta
- POSTGRESQL_PASSWORD=ienah9eiquah7GeiMaengeitie5aeq66
volumes:
- /data/nexus/postgres:/bitnami/postgresql
restart: always
在启动前,先创建好目录,并给予权限
mkdir -p /data/nexus/postgres /data/nexus/nexusdata
chmod 777 /data/nexus -R
然后启动, 访问 ip:8081 即可
docker compose up -d
配置 caddy
mirrors.china.12306.work {
import LOG "/var/log/caddy/mirrors.log"
@rootOrIndex {
path /
path /index.html
path /mirror.css
path /.help*
}
handle @rootOrIndex {
file_server {
hide .git
root /etc/caddy/pages/mirrors
}
}
reverse_proxy http://100.90.80.3:8081
}
样式我从网易镜像源借鉴来的
目前支持的软件
本文档由 ysicing 收集整理, 希望能对国内开源软件用户有所帮助.
仅列出部分核心软件包:
- tailscale
- caddy
- docker-ce
- postgresql
- trivy
为什么没有我用的软件包?因为我暂时用不上, 有好的想法可以联系我.
