E-Nav 导航站正式上线!支持本机一键脚本与Docker部署

作者: maofun 分类: 程序 发布时间: 2025-03-28 18:59

为提升可维护性和实用性,便耗了亿点点时间开发了一个完整的全栈版本。新版本不仅保留了原有的简洁设计,还增加了后台管理功能。
特性:支持一键式安装和Docker容器化部署,确保快速部署和自动维护;配备简洁的后台管理界面,支持响应式设计和主题切换;具备智能favicon获取和自定义图标上传功能;内置实时搜索过滤和搜索引擎集成;在安全方面,采用密码加密存储、会话安全管理和完善的XSS/注入防护机制

演示站点 | 使用文档 | 问题反馈

支持项目

项目完全开源免费,如果觉得对您有帮助:

  1. 帮忙点个 Star⭐
  2. 推荐给身边的朋友
  3. 关注项目动态,查看最新更新

点击Star支持项目


💻 后台管理

  • 访问地址:http://您的域名:1239/admin
  • 默认密码:admin
  • 请及时修改默认密码以确保安全
    Nginx反代一键脚本也附上吧 点我跳转
    预览图
    e969e7a047dfa4bdcc829d4d079403eb.png

🚀 快速部署

方式一:Docker部署(推荐)

docker run -d \
  --name e-nav \
  -p 1239:1239 \
  -v $(pwd)/data:/app/data \
  --restart unless-stopped \
  ecouus/e-nav:latest

更新

docker pull ecouus/e-nav:latest && docker stop e-nav && docker rm e-nav && docker run -d --name e-nav -p 1239:1239 -v $(pwd)/data:/app/data --restart unless-stopped ecouus/e-nav:latest

💡 端口修改说明

  • -p 1239:1239 中第一个1239可更改为任意未被占用的端口
  • 例如:-p 8080:1239 则使用8080端口访问

💡 挂载路径说明

  • $(pwd)/data 表示挂载到宿主机当前工作目录的data文件夹下

Docker Compose 部署

下载源文件
sudo apt install git -y && git clone https://github.com/ecouus/E-Nav.git && cd E-Nav 

根据需要编辑 docker-compose.yml 文件

启动
docker-compose up -d
更新
docker-compose pull && docker-compose up -d

方式二:一键脚本部署

  • 安装
curl -fsSL https://raw.githubusercontent.com/ecouus/E-Nav/main/OneClick.sh -o OneClick.sh && chmod +x OneClick.sh && bash OneClick.sh install
  • 卸载
bash OneClick.sh uninstall

方法三:手动部署

  1. 安装必要软件
apt update
apt install -y git
  1. 安装 Go
wget https://go.dev/dl/go1.24.1.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.24.1.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> /root/.bashrc
source /root/.bashrc
  1. 克隆项目
cd /root
git clone https://github.com/ecouus/E-Nav.git
cd E-Nav
  1. 初始化和编译
go mod init E-Nav
go mod tidy
go build -o E-Nav
  1. 创建系统服务
cat > /etc/systemd/system/E-Nav.service << EOF
[Unit]
Description=E-Nav Go Web Application
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/root/E-Nav
ExecStart=/root/E-Nav/E-Nav
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF
  1. 启动服务
systemctl daemon-reload
systemctl enable E-Nav
systemctl start E-Nav

常用命令

# 查看服务状态
systemctl status E-Nav

# 启动服务
systemctl start E-Nav

# 停止服务
systemctl stop E-Nav

# 重启服务
systemctl restart E-Nav

# 查看日志
journalctl -u E-Nav

注意事项

  • 请确保使用root用户执行脚本
  • 本机部署需确保服务器1239端口未被占用
  • 建议安装完成后及时修改后台密码
  • 如遇问题,请查看服务日志排查

技术架构

后端技术栈

  • 框架: Go (Golang)
  • 路由: Gorilla Mux
  • 会话管理: Gorilla Sessions
  • 密码加密: bcrypt
  • 数据存储: JSON文件存储
  • API: RESTful架构

前端技术栈

  • 布局: HTML5 + CSS3
  • 交互: 原生JavaScript (ES6+)
  • 图标: Font Awesome
  • 样式特性:
    • Flexbox/Grid布局
    • CSS变量
    • 响应式设计
    • 深色模式支持
    • CSS动画和过渡效果

📦 项目结构

e-nav/
├── 📄 main.go         # 主程序
├── 📁 static/        # 静态文件目录
│   ├── 📄 css/       # CSS文件
│   ├── 📄 js/        # JavaScript文件
│   └── 📄 favicon.ico # 网站图标
├── 📁 templates/     # HTML模板目录
│   ├── 📄 index.html         # 主页模板
│   ├── 📄 admin_login.html   # 管理员登录页面
│   └── 📄 admin_dashboard.html # 管理员控制面板
├── 📄 bookmarks.json  # 数据存储
└── 📄 config.json     # 配置文件

🔧 常用命令

# Docker 环境
docker ps                # 查看容器状态
docker logs e-nav       # 查看运行日志
docker restart e-nav    # 重启服务
docker stop e-nav      # 停止服务
docker start e-nav     # 启动服务

# 本机部署环境
systemctl status E-Nav   # 查看服务状态
systemctl restart E-Nav  # 重启服务
journalctl -u E-Nav     # 查看日志

⚠️ 注意事项

  • 请使用root用户执行安装脚本
  • 确保端口1239未被占用
  • 及时修改默认管理密码
  • 定期备份重要数据

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注