Docker项目 Docker安装 安装docker和docker-compose 安装docker 非大陆服务器安装docker
1 2 3 wget -qO- get.docker.com | bash docker -v # 查看docker版本 systemctl enable docker #设置开机自启动
注意:如果出现sudo:unable to resolve host [hostname],可以编辑nano/etc/hosts。然后在localhost后面空一格,打上[hostname]你对应的hostname内容。 国内服务器安装docker
1 2 3 curl -sSL https://get.daocloud.io/docker | sh docker -v #查看docker版本 systemctl enable docker # 设置开机自动启动
卸载docker 1 2 3 sudo apt-get purge docker-ce docker-ce-cli containerd.io sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd
安Docker-compose 非大陆服务器安装docker-compose
1 2 3 sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose docker-compose --version #查看docker-compose版本
国内服务器安装docker-compose
1 2 3 curl -L https://get.daocloud.io/docker/compose/releases/download/v2.1.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose docker-compose --version #查看docker-compose版本
docker项目的更新与卸载 docker命令安装
停止和卸载
1 2 3 4 5 docker ps # 确定哪些docker项目在运行 docker inspect 容器的名字 # 找出你容器的映射到本地的文件路径 docker stop memos docker rm -f memos # 停止容器,此时不会删除映射到本地的数据 rm -rf /root/data/docker_data/memos # 完全删除映射到本地的数据
docker-compose安装
停止和卸载
cd /root/data/docker_data/lsky-pro # 进入docker-compose所在的文件夹 docker-compose down # 停止容器,此时不会删除映射到本地的数据 rm -rf /root/data/docker_data/lsky-pro # 完全删除映射到本地的数据
更新
cd /root/data/docker_data/lsky-pro # 进入docker-compose所在的文件夹 docker-compose pull # 拉取最新的镜像 docker-compose up -d # 重新更新当前镜像
其他 修改docker配置
以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 cat > /etc/docker/daemon.json <<EOF { "log-driver": "json-file", "log-opts": { "max-size": "20m", "max-file": "3" }, "ipv6": true, "fixed-cidr-v6": "fd00:dead:beef:c0::/80", "experimental":true, "ip6tables":true } EOF 重启Docker服务 systemctl restart docker
=======================================================================================
https://it-tools.tech/ https://github.com/CorentinTh/it-tools https://registry.hub.docker.com/r/corentinth/it-tools/
1 2 3 4 5 6 7 From docker hub: docker run -d --name it-tools --restart unless-stopped -p 8080:80 corentinth/it-tools:latest docker run -d -p 8080:80 --name it-tools -it corentinth/it-tools From github packages: docker run -d --name it-tools --restart unless-stopped -p 8080:80 ghcr.io/corentinth/it-tools:latest
reference:
https://registry.hub.docker.com/r/wcjiang/reference/ https://github.com/Fechin/reference https://wangchujiang.com/reference/ 官网:https://jaywcjlove.github.io/reference GitHub:https://github.com/jaywcjlove/reference
部署 Quick Reference 网站 轻松通过 docker 部署 Quick Reference 网站。
1 2 3 4 5 6 docker pull wcjiang/reference docker run --name reference --rm -d -p 9667:3000 wcjiang/reference:latest or docker run --name reference -itd -p 9667:3000 wcjiang/reference:latest 在浏览器中访问以下 URL http://localhost:9667/
开发:
克隆仓库
1 2 3 4 $ git clone https://github.com/jaywcjlove/reference.git $ npm install $ npm start $ open dist/index.html
Sun-Panel
https://doc.sun-panel.top/zh_cn/ https://hub.docker.com/r/hslr/sun-panel https://registry.hub.docker.com/r/hslr/sun-panel/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 docker pull hslr/sun-panel:latest docker run -d --restart=always -p 3002:3002 \ -v ~/docker_data/sun-panel/conf:/app/conf \ -v /var/run/docker.sock:/var/run/docker.sock \ --name sun-panel \ hslr/sun-panel:latest docker-compose: version: "3.2" services: sun-panel: image: "hslr/sun-panel:latest" container_name: sun-panel volumes: - ./conf:/app/conf - /var/run/docker.sock:/var/run/docker.sock # 挂载docker.sock # - ./runtime:/app/runtime # 挂载日志目录 # - /mnt/sata1-1:/os # 硬盘挂载点(根据自己需求修改) ports: - 3002:3002 restart: always 运行: docker-compose up -d
musicn-container:
https://github.com/wy580477/musicn-container https://github.com/zonemeen/musicn#%E6%90%9C%E7%B4%A2%E7%9A%84%E9%A1%B5%E7%A0%81%E6%95%B0%E9%BB%98%E8%AE%A4%E6%98%AF%E7%AC%AC1%E9%A1%B5
部署
1 2 3 4 5 6 7 8 命令行 + Web 模式 docker run -d --name=musicn --restart=unless-stopped -v ${PWD}/musicn:/data -p 7478:7478 ghcr.io/wy580477/musicn-container:latest msc -q 仅命令行模式 (空闲时几乎不耗内存) docker run -d --name=musicn --restart=unless-stopped -v ${PWD}/musicn:/data ghcr.io/wy580477/musicn-container:latest tail -f $ {PWD}/musicn 为命令行模式下载文件存放目录,默认当前目录下 musicn 文件夹。 执行 musicn 命令: docker exec -it musicn msc 周杰伦
设置 bash 命令别名方便使用,重新登陆 shell 后生效
echo “alias msc=’docker exec -it musicn msc’” >> ~/.bashrc
查看命令帮助
msc -h
指定子目录 test 为下载目录
msc 周杰伦 -p ./test
升级版本
1 docker container rm musicn --force && docker pull ghcr.io/wy580477/musicn-container:latest
然后重新执行安装命令
容器内升级 (不推荐,万一我以后弃坑不更新 image 版本,可以用这个方法更新)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 docker exec -it musicn npm i musicn -g Docker-Compose 部署 命令行 + Web 模式 version: '3.4' services: musicn: image: ghcr.io/wy580477/musicn-container:latest container_name: musicn restart: unless-stopped entrypoint: ["/sbin/tini", "--", "msc", "-q"] ports: - "7478:7478" volumes: - ./musicn:/data 仅命令行模式 version: '3.4' services: musicn: image: ghcr.io/wy580477/musicn-container:latest container_name: musicn restart: unless-stopped entrypoint: ["/sbin/tini", "--", "tail", "-f"] volumes: - ./musicn:/data
uptime-kuma:
https://registry.hub.docker.com/r/louislam/uptime-kuma/
Create a volume
1 docker volume create uptime-kuma
Start the container
1 docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
Change Port and Volume
1 docker run -d --restart=always -p <YOUR_PORT>:3001 -v <YOUR_DIR OR VOLUME>:/app/data --name uptime-kuma louislam/uptime-kuma:1
linux-command: https://registry.hub.docker.com/r/wcjiang/linux-command 轻松通过 docker 部署 linux-command 网站。
1 2 docker pull wcjiang/linux-command docker run --name linux-command --rm -d -p 9665:3000 wcjiang/linux-command:latest
or
1 docker run --name linux-command -itd -p 9665:3000 wcjiang/linux-command:latest
在浏览器中访问以下 URLhttp://localhost:9665/
微信公众号文章 Markdown 编辑器 使用 markdown 语法创建一篇简介美观大方的微信公众号图文
https://registry.hub.docker.com/r/wcjiang/wxmp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 docker pull wcjiang/wxmp # Or docker pull ghcr.io/jaywcjlove/wxmp:latest docker run --name wxmp --rm -d -p 96611:3000 wcjiang/wxmp:latest # Or docker run --name wxmp -itd -p 96611:3000 wcjiang/wxmp:latest # Or docker run --name wxmp -itd -p 96611:3000 ghcr.io/jaywcjlove/wxmp:latest 在浏览器中访问以下 URL http://localhost:96611/
OneNav
https://registry.hub.docker.com/r/helloz/onenav
常规安装:
需安装PHP环境,并确保支持SQLite3
下载源码解压到站点根目录
访问首页根据提示初始化用户名/密码
访问后台:http://IP/index.php?c=login
Docker部署:
https://doc.xiaoz.top/web/#/13/129
1 2 3 docker run -itd --name="onenav" -p 80:80 \ -v /data/onenav:/data/wwwroot/default/data \ helloz/onenav:0.9.30
第一个80是自定义访问端口,可以自行修改,第二个80是容器端口,请勿修改
/data/onenav:本机挂载目录,用于持久存储Onenav数据
0.9.31:改成OneNav最新版本号,可以通过releases 查看最新版本号
更多说明,请参考帮助文档:https://dwz.ovh/onenav
Demo
账号/密码:xiaoz/`xiaoz.me
使用Docker安装
1 2 3 docker run -itd --name="onenav" -p 3080:80 \ -v /data/onenav:/data/wwwroot/default/data \ helloz/onenav
3080:第1个3080端口为访问端口,可自行修改,第2个80为容器内部端口,请不要修改
/data/onenav:本机挂载目录,用于持久存储Onenav数据
/data/wwwroot/default/data:这个路径请不要修改,否则会造成数据丢失
如果您是国内网络环境,无法拉取Docker进行,可以使用我们提供的镜像加速地址,只需要将上面的helloz/onenav改成pub.tcp.mk/helloz/onenav,比如:
1 2 3 docker run -itd --name="onenav" -p 3080:80 \ -v /data/onenav:/data/wwwroot/default/data \ pub.tcp.mk/helloz/onenav
镜像存在24H缓存,如果拉取的镜像不是最新,可以尝试手动指定tag版本,比如:pub.tcp.mk/helloz/onenav:1.0.0
使用Docker Compose安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 您也可以选择docker-compose进行安装,将下面的文件保存为docker-compose.yaml version: '3' services: onenav: container_name: onenav ports: - "3080:80" volumes: - './data:/data/wwwroot/default/data' image: 'helloz/onenav' restart: always 然后运行命令docker-compose up -d进行启动。 初始化 安装完毕后访问http://IP:3080完成初始化操作!
Memos 开源、自托管的笔记解决方案,专为无缝部署和多平台访问而设计。体验轻松无痛的纯文本书写,并辅以强大的 Markdown 语法支持以增强格式。
Home Page • Blogs • 文档 • Live Demo
https://github.com/usememos/memos
1 docker run -d --name memos -p 5230:5230 -v ~/.memos/:/var/opt/memos neosmemo/memos:stable
思源 一个隐私优先、自托管、完全开源的个人知识管理软件
https://github.com/siyuan-note/siyuan
1 2 3 4 5 6 7 8 9 10 11 12 13 14 docker run -d \ -v workspace_dir_host:workspace_dir_container \ -p 6806:6806 \ -e PUID=1001 -e PGID=1002 \ b3log/siyuan \ --workspace=workspace_dir_container \ --accessAuthCode=xxx PUID: 自定义用户 ID(可选,如果未提供,默认为 1000) PGID: 自定义组 ID(可选,如果未提供,默认为 1000) workspace_dir_host:宿主机上的工作空间文件夹路径 workspace_dir_container:容器内工作空间文件夹路径,和后面 --workspace 指定成一样的 accessAuthCode:访问授权码,请务必修改,否则任何人都可以读写你的数据
为了简化,建议将 workspace 文件夹路径在宿主机和容器上配置为一致的,比如将 workspace_dir_host 和 workspace_dir_container 都配置为 /siyuan/workspace,对应的启动命令示例:
1 2 3 4 5 6 7 docker run -d \ -v /siyuan/workspace:/siyuan/workspace \ -p 6806:6806 \ -e PUID=1001 -e PGID=1002 \ b3log/siyuan \ --workspace=/siyuan/workspace/ \ --accessAuthCode=xxx
Docker Compose
对于使用 Docker Compose 运行思源的用户,可以通过环境变量 PUID 和 PGID 来自定义用户和组的 ID。下面是一个 Docker Compose 配置示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 version: "3.9" services: main: image: b3log/siyuan command: ['--workspace=/siyuan/workspace/', '--accessAuthCode=${AuthCode}'] ports: - 6806:6806 volumes: - /siyuan/workspace:/siyuan/workspace restart: unless-stopped environment: # A list of time zone identifiers can be found at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - TZ=${YOUR_TIME_ZONE} - PUID=${YOUR_USER_PUID} # 自定义用户 ID - PGID=${YOUR_USER_PGID} # 自定义组 ID
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 在此设置中: PUID “和 ”PGID "是动态设置并传递给容器的 如果没有提供这些变量,将使用默认的 1000 在环境中指定 PUID 和 PGID 后,就无需在组成文件中明确设置 user 指令(user: '1000:1000')。容器将在启动时根据这些环境变量动态调整用户和组。 用户权限 在图片中,“entrypoint.sh ”脚本确保以指定的 “PUID ”和 “PGID ”创建 “siyuan ”用户和组。因此,当主机创建工作区文件夹时,请注意设置文件夹的用户和组所有权,使其与计划使用的 PUID 和 PGID 匹配。例如 chown -R 1001:1002 /siyuan/workspace 如果使用自定义的 PUID 和 PGID 值,入口点脚本将确保在容器内创建正确的用户和组,并相应调整挂载卷的所有权。无需在 docker run 或 docker-compose 中手动传递 -u,因为环境变量会处理自定义。 隐藏端口 使用 NGINX 反向代理可以隐藏 6806 端口,请注意: 配置 WebSocket 反代 /ws 注意 请务必确认挂载卷的正确性,否则容器删除后数据会丢失 不要使用 URL 重写进行重定向,否则鉴权可能会有问题,建议配置反向代理 限制 不支持桌面端和移动端应用连接,仅支持在浏览器上使用 不支持导出 PDF、HTML 和 Word 格式 不支持导入 Markdown 文件
https://github.com/siyuan-note/siyuan/tree/master
Van Nav 浏览器书签代替品 / 搭建导航站
浏览器访问 http://localhost:6412/admin,进入后台管理,默认的账号密码都是 admin,数据库 nav.db 会自动创建在当前文件夹中。
*扩展插件*
另外作者还给「Van Nav」制作了浏览器扩展插件,支持一键增加书签,快速打开管理后台和主站等功能。扩展插件目前没有上架到扩展市场,需要手动安装。浏览器 - 扩展程序 - 管理扩展程序 - 开启开发者模式 - 加载已解压的扩展。
首次使用「Van Nav」的扩展插件,需要先配置下,BaseUrl 填写你的导航网址,例如:http://localhost:6412
Token 的获取方法:在导航主页上,按 F12 打开发者工具 - Network ,然后刷新页面,找到 api/,右边栏目里面找到 authorization 的数值串。填写完毕后,点击确定,再点击 重新获取分类 。
之后点击「Van Nav」的扩展插件图标,就可以快速将当前页面收藏添加到导航里面了,非常滴方便。
*Docker部署*
1 docker run -d --name tools --restart always -p 6412:6412 -v /path/to/your/data:/app/data mereith/van-nav:latest
打开浏览器 http://localhost:6412 即可访问。
项目地址:https://github.com/mereithhh/van-nav
网盘下载:https://pan.quark.cn/s/90d03bfcff86
Sun-panel A server, NAS navigation panel, Homepage, Browser homepage 一个服务器、NAS导航面板、Homepage、浏览器首页。
[ 中文文档 ] | [ Document ] | [ Demo ]
https://doc.sun-panel.top/zh_cn/usage/quick_deploy.html
1 2 3 4 5 6 7 8 9 10 v1.4.0+ latest 可以替换成其他版本号(查看),示例已经挂载了docker目录,可在容器中使用docker docker run -d --restart=always -p 3002:3002 \ -v ~/docker_data/sun-panel/conf:/app/conf \ -v /var/run/docker.sock:/var/run/docker.sock \ --name sun-panel \ hslr/sun-panel:latest 容器端口默认:3002,--restart=always 自动重启,-d 后台运行
docker-compose 运行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 version: "3.2" services: sun-panel: image: "hslr/sun-panel:latest" container_name: sun-panel volumes: - ./conf:/app/conf - /var/run/docker.sock:/var/run/docker.sock # 挂载docker.sock # - ./runtime:/app/runtime # 挂载日志目录 # - /mnt/sata1-1:/os # 硬盘挂载点(根据自己需求修改) ports: - 3002:3002 restart: always
运行 docker-compose up -d
默认账号密码
mTab 新标签页
https://www.mtab.cc/
免费无广告的组件式浏览器主页。多端同步、美观易用的在线导航和新标签页工具。
Zdir Pro
https://www.zdir.pro/zh/
https://doc.xiaoz.top/web/#/10/38
多功能文件分享程序。一款集文件索引、在线预览与分享于一体的多功能私有存储程序,支持WebDAV和离线下载。
1 2 3 4 5 6 7 docker run --privileged -d --name="zdir" \ -v /opt/zdir/data:/opt/zdir/data \ -v /data/public:/opt/zdir/data/public \ -v /data/private:/opt/zdir/data/private \ -p 6080:6080 \ --restart=always \ pub.tcp.mk/helloz/zdir:4
使用Docker Compose安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 version: '3.3' services: zdir: container_name: zdir privileged: true volumes: - '/opt/zdir/data:/opt/zdir/data' - '/data/public:/opt/zdir/data/public' - '/data/private:/opt/zdir/data/private' ports: - '6080:6080' restart: always image: 'helloz/zdir:4'
然后输入docker-compose up -d进行启动
容器路径说明
第二列/opt/zdir/data为容器路径,里面保存了Zdir数据库和配置等信息,请勿修改
第二列/opt/zdir/data/public为容器内Zdir公有目录,请勿修改
第二列/opt/zdir/data/private为容器内Zdir私有目录,请勿修改
第一列目录为您的主机目录,可自行修改
Pintree(非Docker) 目前「PintreeNewTab」只支持 Chrome / Edge 和其它基于 Chromium 的浏览器。
据作者介绍「PintreeNewTab」是一个基于「Pintree」的开源项目致力于将浏览器书签转变为一个既美观又易于使用的导航网站,可以将本地书签导出并创建一个静态导航页面。
你只需要把收藏夹转换成导航页面在浏览器通过扩展方式访问的话,那么直接安装这个「PintreeNewTab」扩展插件即可。
所以如果你需要导出静态导航 HTML 页面,并部署到 GitHub 上作为你的个人导航网站 ,就使用「Pintree」的开源项目。
在线演示:https://app.pintree.io
下载浏览器书签
安装 Pintree 插件(下载地址在文末)。
使用插件导出浏览器书签,并保存 JSON 文件到本地。
**Fork 项目 **
访问 Pintree GitHub 仓库。https://github.com/Pintree-io/pintree
点击页面右上角的 Fork 按钮,将项目 Fork 到您的 GitHub 账号中。
**替换 JSON 文件 **
打开您 GitHub 账号中的 pintree 仓库(即刚才 Fork 的项目)。
点击仓库中的 json 文件夹。
点击 Upload files 按钮,选择刚才下载的 JSON 文件,并上传。
确保上传的文件命名为 pintree.json,并选择 Commit changes。
**启用 GitHub Pages **
在您的 pintree 仓库页面,点击 Settings。
找到 Pages 选项。
在 Source 下拉菜单中,选择 gh-pages 分支,然后点击 Save。
几分钟后,您的静态网站将会在 https://yourusername.github.io/pintree 上可用。记得替换 yourusername。
书签同步(非Docker项目)
跨平台多浏览器书签同步扩展:藏趣云
Bookmark Syncer
Floccus
Better OneTab
EverSync
原文:https://mp.weixin.qq.com/s?__biz=MzIxOTE5MDY5Mw==&mid=2650966667&idx=1&sn=5bb8ed220fb4474f4243848d111f2177&chksm=8c292e41bb5ea757d0e8635213d93ad0f61bd7657cec6fc2a638ebb38f58b827279ffa3d8ad2&scene=21#wechat_redirect
HomePage https://github.com/xiaoxuan6/homepage
1 docker run --name=homepage -v config.yml:/src/config.yml -p 8080:8080 -d ghcr.io/xiaoxuan6/homepage:latest
https://gethomepage.dev/
https://github.com/gethomepage/homepage
1 2 docker run -p 3003:3000 -v /path/to/config:/app/config -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/gethomepage/homepage:latest
Flare ✨轻量、高性能、快速的自托管导航页面
https://github.com/soulteary/docker-flare
https://soulteary.com/2022/02/23/building-a-personal-bookmark-navigation-app-from-scratch-flare.html
1 2 3 4 5 6 # 可以使用最新镜像 docker pull soulteary/flare docker run --rm -it -p 5005:5005 -v `pwd`/app:/app soulteary/flare # 也可以追求明确,使用固定版本 docker pull soulteary/flare:0.5.1 docker run --rm -it -p 5005:5005 -v `pwd`/app:/app soulteary/flare:0.5.1
Flame 您的服务器的自托管起始页。使用内置编辑器轻松管理您的应用程序和书签。
https://github.com/pawelmalak/flame
1 2 3 4 5 6 7 docker pull pawelmalak/flame # for ARM architecture (e.g. RaspberryPi)docker pull pawelmalak/flame:multiarch # installing specific version docker pull pawelmalak/flame:2.0.0
1 2 # run container docker run -p 5005:5005 -v /path/to/data:/app/data -e PASSWORD=flame_password pawelmalak/flame
构建镜像
1 2 3 4 5 6 7 8 9 # build image for amd64 only docker build -t flame -f .docker/Dockerfile . # build multiarch image for amd64, armv7 and arm64 # building failed multiple times with 2GB memory usage limit so you might want to increase it docker buildx build \ --platform linux/arm/v7,linux/arm64,linux/amd64 \ -f .docker/Dockerfile.multiarch \ -t flame:multiarch .
Docker-Compose
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 version: '3.6' services: flame: image: pawelmalak/flame container_name: flame volumes: - /path/to/host/data:/app/data - /var/run/docker.sock:/var/run/docker.sock # optional but required for Docker integration ports: - 5005:5005 secrets: - password # optional but required for (1) environment: - PASSWORD=flame_password - PASSWORD_FILE=/run/secrets/password # optional but required for (1) restart: unless-stopped # optional but required for Docker secrets (1) secrets: password: file: /path/to/secrets/password
HuaSen导航 https://gitee.com/HuaSenJioJio/huasenjio-compose
(1)通过 git 拉取源码
1 git clone https://github.com/huasenjio/huasenjio-compose.git
(2)进入 huasenjio-compose 目录
(3)运行容器
执行运行容器命令后,docker 将自动拉取安装配置 nginx、mongodb、redis、jenkins、后端服务,第一次会比较缓慢,请耐心等待,如果遇到卡死的情况,使用ctrl + c终止命令,然后重复执行运行容器命令即可。
(4)访问站点
容器启动成功之后,我们在浏览器地址栏输入如下地址:
1 2 3 官网:协议://ip/portal/ 后台管理:协议://ip/admin/ 默认管理员:admin@qq.com/12345
将浏览器书签保存并运行到服务中
https://github.com/xiaoxuan6/bookmarks
1 2 3 [root@hcss-ecs-b0c7 bookmarks]# pwd /root/bookmarks [root@hcss-ecs-b0c7 bookmarks]# docker run --name=bookmarks -p 8085:8080 -v /root/bookmarks/.env:/app/.env -v /data:/app/data -d ghcr.io/xiaoxuan6/bookmarks:latest
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 # bookmarks 将浏览器书签保存并运行到服务中 # Docker ```docker docker run --name=bookmarks -p 8080:8080 -v .env:/app/.env -v /data:/app/data -d ghcr.io/xiaoxuan6/bookmarks:latest ``` * .env: 环境变量文件 * data: 书签文件夹 # Docker Compose ```yaml version: '3.8' services: bookmarks: image: ghcr.io/xiaoxuan6/bookmarks:latest container_name: bookmarks ports: - 8080:8080 volumes: - $PWD/.env:/app/.env - $PWD/data:/app/data restart: always ``` # bookmarks.json 如何获取 工具 [tools](https://github.com/xiaoxuan6/tools) 中的 `bookmarks` 可以将浏览器书签导出为 `bookmarks.json` 文件
memos
https://github.com/usememos/memos
https://www.usememos.com/
1 2 3 4 5 6 7 8 9 10 11 version: "3" services: memos: image: neosmemo/memos:latest container_name: memeos hostname: memeos ports: - "5230:5230" volumes: - /root/data/docker_data/memos/.memos/:/var/opt/memos restart: always
极简朋友圈
https://github.com/kingwrcy/moments
1 2 3 4 5 6 7 docker run -d \ -e PORT=3000 \ -e JWT_KEY=$JWT_KEY \ -p 3000:3000 \ -v /var/moments:/app/data \ --name moments \ kingwrcy/moments:latest
1 2 3 4 5 6 7 8 9 10 11 12 13 # docker-compose services: moments: image: kingwrcy/moments:latest container_name: moments restart: always environment: PORT: 3000 JWT_KEY: $JWT_KEY ports: - 3000:3000 volumes: - /var/moments:/app/data # 持久化数据到主机的 /var/moments 目录,可以按需修改
1 2 3 4 5 6 7 JWT_KEY 生成 使用 OpenSSL 执行以下命令生成 (仅测试了 Linux): openssl rand -hex 32 使用 SHA256 执行以下命令生成 (仅测试了 Linux): echo $RANDOM | sha256sum