Docker项目

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

=======================================================================================

it-tools:

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 # 启动监听,实时生成 HTML
$ open dist/index.html # 在浏览器打开生成 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

在浏览器中访问以下 URL
http://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

常规安装:

  1. 需安装PHP环境,并确保支持SQLite3
  2. 下载源码解压到站点根目录
  3. 访问首页根据提示初始化用户名/密码
  4. 访问后台: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 PageBlogs文档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_hostworkspace_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 运行思源的用户,可以通过环境变量 PUIDPGID 来自定义用户和组的 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 即可访问。

  • 默认端口 6412
  • 后台地址 http://localhost:6412/admin
  • 默认账号密码 admin,第一次运行后请进入后台修改
  • 数据库会自动创建在当前文件夹中:nav.db

项目地址:https://github.com/mereithhh/van-nav

网盘下载:https://pan.quark.cn/s/90d03bfcff86

Sun-panel

A server, NAS navigation panel, Homepage, Browser homepage
一个服务器、NAS导航面板、Homepage、浏览器首页。

GithubGiteedockerBilibiliYouTube
GitHub User's starsgithub downloadsdocker pulls

[ 中文文档 ]⁠ | [ 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

下载浏览器书签

  1. 安装 Pintree 插件(下载地址在文末)。
  2. 使用插件导出浏览器书签,并保存 JSON 文件到本地。

**Fork 项目 **

  1. 访问 Pintree GitHub 仓库。
    https://github.com/Pintree-io/pintree
  2. 点击页面右上角的 Fork 按钮,将项目 Fork 到您的 GitHub 账号中。

**替换 JSON 文件 **

  1. 打开您 GitHub 账号中的 pintree 仓库(即刚才 Fork 的项目)。
  2. 点击仓库中的 json 文件夹。
  3. 点击 Upload files 按钮,选择刚才下载的 JSON 文件,并上传。
  4. 确保上传的文件命名为 pintree.json,并选择 Commit changes。

**启用 GitHub Pages **

  1. 在您的 pintree 仓库页面,点击 Settings。
  2. 找到 Pages 选项。
  3. 在 Source 下拉菜单中,选择 gh-pages 分支,然后点击 Save。
  4. 几分钟后,您的静态网站将会在 https://yourusername.github.io/pintree 上可用。记得替换 yourusername。

书签同步(非Docker项目)

  1. 跨平台多浏览器书签同步扩展:藏趣云
  2. Bookmark Syncer
  3. Floccus
  4. Better OneTab
  5. 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 目录

1
cd huasenjio-compose

(3)运行容器

执行运行容器命令后,docker 将自动拉取安装配置 nginx、mongodb、redis、jenkins、后端服务,第一次会比较缓慢,请耐心等待,如果遇到卡死的情况,使用ctrl + c终止命令,然后重复执行运行容器命令即可。

1
docker-compose up -d

(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