当前位置: 首页 > news >正文

win11安装Joplin Server私有化部署(docker)

摘要

本指南将帮助你在 Windows 11 系统 上通过 Docker + Docker Compose 完成 Joplin Server 的本地搭建,并实现数据持久化、PostgreSQL 后端支持、用户登录与同步功能。

条件说明
✅ 已安装 Docker Desktop for Windows可从 Docker 官网 下载并安装,建议使用 Windows 10/11 Pro/Enterprise 系统;安装时请选择 WSL2 作为后端引擎。
✅ 已开启 WSL2 + 虚拟化(Hyper-V)打开 PowerShell(管理员)执行:
wsl --install
并确保已启用虚拟化:
① 在 BIOS 中开启 Virtualization
② 启用 Windows 功能:
 - “适用于 Linux 的 Windows 子系统”
 - “虚拟机平台”
 - “Hyper-V”
✅ Git Bash 或 PowerShell 可正常使用在 Windows 上推荐使用 PowerShell 或 Git Bash 执行命令,如:docker-compose upcurlnpm 等;如果 npm 报执行策略错误,可运行:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
✅ 具备基础的命令行操作能力包括使用 cd 切换目录、编辑 YAML 文件、执行 Docker 命令等。如无经验,建议同时学习:
👉 Docker 入门教程
👉 PowerShell 基本命令

✅ 检查 WSL2 与虚拟化是否已开启:

wsl --status

输出应类似于:

Default Version: 2


若未启用,请手动安装 WSL:

wsl --install

或指定 Ubuntu 发行版:

wsl --install -d Ubuntu

✅ 检查 Docker Desktop 是否正常运行:
运行以下命令确认:

docker version

在这里插入图片描述

 

📁 项目结构准备

在任意目录(如 E:\docker\joplin)下新建项目结构:

bash

复制编辑

E:\docker\joplin
├── docker-compose.yml

🧾 docker-compose.yml 配置文件

创建并写入如下内容:
yaml

version: '3.8'services:db:image: postgres:15container_name: joplin-postgresrestart: unless-stoppedenvironment:POSTGRES_PASSWORD: joplinpassPOSTGRES_USER: joplinuserPOSTGRES_DB: joplinvolumes:- db-data:/var/lib/postgresql/dataapp:image: joplin/server:latestcontainer_name: joplin-serverrestart: unless-stoppedports:- "22300:22300"environment:APP_PORT: 22300APP_BASE_URL: "http://localhost:22300"DB_CLIENT: pgPOSTGRES_PASSWORD: joplinpassPOSTGRES_DATABASE: joplinPOSTGRES_USER: joplinuserPOSTGRES_PORT: 5432POSTGRES_HOST: dbvolumes:db-data:

▶️ 启动 Joplin Server
在 PowerShell 或 Git Bash 中执行以下命令:

cd E:\docker\joplin
docker-compose up -d

在这里插入图片描述

等待容器启动后,访问:

http://localhost:22300

手动插入用户到 PostgreSQL

进入数据库:

docker exec -it joplin-postgres psql -U joplinuser -d joplin
使用 Node.js 生成 bcrypt 密码哈希:

bash

npm install bcryptjs
// gen.js
const bcrypt = require('bcryptjs');
console.log(bcrypt.hashSync('your_password', 10));

bash

node gen.js

在数据库中插入用户:
sql

INSERT INTO users (id, email, password, is_admin, created_time, updated_time)
VALUES ('550e8400e29b41d4a716446655440000','your@email.com','上面生成的hash',1,extract(epoch from now()) * 1000,extract(epoch from now()) * 1000
);

 

🖥️ 客户端配置同步

下载客户端

👉 https://joplinapp.org/download

配置同步目标

打开客户端 → 设置 → 同步:

设置项
同步目标Joplin Server (Beta)
URLhttp://localhost:22300
邮箱your@email.com
密码your_password

点击 “同步”,完成首次连接 ✅


🔐 安全性建议

  • 删除 USER_AUTH_ENABLED: 0 后重启容器;

  • 设置复杂管理员密码;

  • 若暴露到公网,请配合 Nginx 和 HTTPS 使用。


🚀 附加功能(可选)

  • 配置公网访问 + HTTPS(推荐使用 Nginx + Certbot);

  • 自动备份 PostgreSQL 数据;

  • 搭配群组插件实现团队协作。

http://www.xdnf.cn/news/471817.html

相关文章:

  • 【应急响应工具教程】Windows日志快速分析工具——Chainsaw
  • 数智管理学(九)
  • MySQL 8.0 OCP 1Z0-908 题目解析(4)
  • Process exited with an error: 1 (Exit value: 1) 问题处理
  • Element Plus 取消el-form-item点击触发组件,改为原生表单控件
  • Seata源码—3.全局事务注解扫描器的初始化一
  • 5月15日day26打卡
  • 计量经济学——预测与chow检验
  • 以项目的方式学QT开发(三)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!
  • C++ QT图片查看器
  • 软件设计师考试《综合知识》软件过程模型考点分析——求三连
  • 044-代码味道-数据类
  • 【YOLO 系列】基于YOLO的道路坑洞检测识别系统【python源码+Pyqt5界面+数据集+训练代码】
  • SWMM相关文档共享
  • BUUCTF——shrine
  • 牛客网 NC22167: 多组数据a+b
  • 差分振荡器:支持0.15ps超低抖动的高速时钟核心
  • 腾讯AI军备极速扩张
  • LCD电视LED背光全解析:直下式 vs 侧光式、全局调光 vs 局部调光与HDR体验
  • (6)python开发经验
  • hbit资产收集工具Docker(笔记版)
  • 电商热销榜的5种实现方案
  • [python] Python元组、字典与集合的全面解析
  • Linux常用命令41——passwd修改用户的密码值
  • OpenCV光流估计:原理、实现与应用
  • 深度解析物理机服务器故障修复时间:影响因素与优化策略
  • Linux常用的性能分析工具
  • 加密原理3-代码
  • 可视化图解算法40:二分查找-I
  • HGDB企业版迁移到HGDB安全版