前言:OpenStock—— 免费开源的个人股票分析平台
在金融投资愈发普及的今天,一款易用、免费、可自定义的股票分析工具,是普通投资者的刚需。而 OpenStock 正是这样一款完全开源、无门槛、功能完备的股票市场分析平台,由社区驱动开发,遵循 AGPL-3.0 开源协议,所有人都可以免费使用、部署和二次开发。
它不提供交易服务,却集成了实时股价追踪、自选股管理、TradingView 专业 K 线图表、市场热度图、财经新闻、AI 个性化提醒等核心功能,足以替代多数付费工具。基于现代化的 Next.js、MongoDB 技术栈构建,界面简洁流畅,部署门槛极低,无论是个人学习、日常看盘,还是二次开发都非常合适。
本文将全面介绍 OpenStock 项目,并提供完整部署指南,帮助你快速搭建属于自己的股票分析平台,享受开源带来的便捷与自由。

项目地址:https://github.com/Open-Dev-Society/OpenStock?tab=readme-ov-file
一台服务器vps:(官网五折福利点我直达)
为什么我更推荐用云服务器部署 OpenStock,而不是本地跑?
相较于本地部署,云服务器部署 OpenStock 更适合长期使用:7×24 小时在线不关机,公网 IP 支持手机、电脑随时随地访问,彻底摆脱局域网限制;纯净独立环境避免本地端口冲突、依赖混乱,Docker 一键部署后稳定运行;专业云厂商提供安全防护与数据备份,投资数据更安心,一次配置终身可用,是搭建专属股票分析平台的最优选择。
终端软件点击下载:FinalShell SSH工具, FinalShell官网
第一步:安装 Docker 和 Docker Compose
1. 更新服务器软件源
apt update && apt upgrade -y
(等待几分钟,出现Done就完成)
2. 安装 Docker 依赖
apt install -y apt-transport-https ca-certificates curl software-properties-common
3. 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
4. 添加 Docker 软件源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
5. 安装 Docker 引擎
apt update && apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
6. 验证 Docker 安装成功
docker --version
docker compose version
能看到类似
Docker version 26.1.4, build 5650f9b和Docker Compose version v2.27.0的输出,就是装好了
7. 启动 Docker 并设置开机自启
systemctl start docker
systemctl enable docker
第二步:下载项目
git clone https://github.com/Open-Dev-Society/OpenStock.git
cd OpenStock
第三步:创建配置文件
cat > .env << 'EOF'
MONGODB_URI=mongodb://root:example@mongodb:27017/openstock?authSource=admin
PORT=3000
NODE_ENV=production
SKIP_BUILD_CHECK=1
EOF第四步:创建启动配置
cat > docker-compose.yml << 'EOF'
services:
mongodb:
image: mongo:6.0
container_name: mongodb
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
volumes:
- mongodb_data:/data/db
networks:
- app-network
healthcheck:
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
interval: 10s
timeout: 5s
retries: 5
app:
build: .
container_name: openstock
restart: always
ports:
- "3000:3000"
environment:
- MONGODB_URI=mongodb://root:example@mongodb:27017/openstock?authSource=admin
- PORT=3000
- NODE_ENV=production
- SKIP_BUILD_CHECK=1
depends_on:
mongodb:
condition: service_healthy
networks:
- app-network
command: sh -c "npm run build && npm start"
networks:
app-network:
volumes:
mongodb_data:
EOF
第五步:启动数据库
docker compose up -d mongodb等 20 秒 再执行下一步!
第六步:一键启动项目
docker compose up -d --build
第七步:查看成功状态
docker compose ps
✅ 正常输出应该是这样(STATUS 为 Up):
plaintext
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
openstock-app-1 openstock-app "docker-entrypoint.s…" app 10 seconds ago Up 8 seconds 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp
openstock-mongo-1 mongo:6.0 "docker-entrypoint.s…" mongodb 10 seconds ago Up 8 seconds 27017/tcp
⚠️ 常见报错 & 对应解决
1. 报错 docker: command not found
说明 Docker 没安装成功,重新执行安装命令:
apt update -y
apt install docker.io docker-compose-plugin -y
systemctl start docker
systemctl enable docker
2. 报错 permission denied
给当前用户加 Docker 权限,执行后重新登录:
usermod -aG docker $USER
newgrp docker
3. 镜像拉取慢 / 失败(国内网络问题)
给 Docker 配置国内镜像源,执行:
mkdir -p /etc/docker
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com"]
}
EOF
systemctl restart docker
然后重新执行 docker compose up。
4. 还是没容器?直接用原生命令启动(兜底方案)
如果 Docker Compose 一直有问题,用原生 Docker 命令兜底:
# 启动 MongoDB
docker run -d --name mongodb -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=example mongo:6.0
# 启动 OpenStock 应用
docker run -d --name openstock -p 3000:3000 --link mongodb:mongodb -e MONGODB_URI=mongodb://root:example@mongodb:27017/openstock?authSource=admin openstock-app
✅ 最后验证
执行完修复步骤后,在浏览器输入:
http://你的云服务器公网IP:3000
就能正常访问 OpenStock 了。
评论区