rename personal resume packages and add seed data
@@ -18,9 +18,9 @@
|
|||||||
|
|
||||||
## 安装包
|
## 安装包
|
||||||
|
|
||||||
- `reactive-resume-clean-install-20260518`: 纯净迁移模板,域名、端口、FRP、密钥均为待填写占位。
|
- `reactive-resume-clean-install-20260519`: 纯净迁移模板,域名、端口、FRP、密钥均为待填写占位。
|
||||||
- `reactive-resume-isiseg-direct-20260518`: 服务器直接运行版,预置 `https://isiseg.huijutec.cn` 和 FRP `remotePort = 10004`。
|
- `reactive-resume-personal-direct-20260519`: 服务器直接运行版,预置 `https://isiseg.huijutec.cn`、FRP `remotePort = 10004`,并内置当前简历与上传图片。
|
||||||
- `reactive-resume-qnap-nas-isiseg-20260518`: 威联通 QNAP NAS 直接部署版,预置 `/share/Container/Reactive_Resume_Isiseg`、本地端口 `3004` 和 FRP `10004`。
|
- `reactive-resume-personal-qnap-nas-20260519`: 威联通 QNAP NAS 直接部署版,预置 `/share/Container/Reactive_Resume_Personal`、本地端口 `3004`、FRP `10004`,并内置当前简历与上传图片。
|
||||||
|
|
||||||
## 启动
|
## 启动
|
||||||
|
|
||||||
|
|||||||
12
dist/SHA256SUMS
vendored
@@ -1,6 +1,6 @@
|
|||||||
f9daa11eeb735e1920d822094a7caf3f7eebcccf8467755bb6f904c68a53bdbf reactive-resume-clean-install-20260518.tar.gz
|
f9daa11eeb735e1920d822094a7caf3f7eebcccf8467755bb6f904c68a53bdbf reactive-resume-clean-install-20260519.tar.gz
|
||||||
54bf5114e8ca9f29ae1feb0510f738396f354174f691bf96e863b41058742a58 reactive-resume-clean-install-20260518.zip
|
18b247b33feaf9ccc4ce7516fb76ea3523c578e3099c77e7549bdfa2c68fd658 reactive-resume-personal-direct-20260519.tar.gz
|
||||||
86bef4916fe9df7db170f65ddf421030cd23d351bc5ba6ec7132aa3e4abe28da reactive-resume-isiseg-direct-20260518.tar.gz
|
af5adc1fe9e1fed435b84635ce994588c9ce0a4731cd4a96380095c04200a8fe reactive-resume-personal-qnap-nas-20260519.tar.gz
|
||||||
c31229536989cd168bf812f75454adcd2d17ab63b46a6d9a958be0af2a1450ea reactive-resume-isiseg-direct-20260518.zip
|
54bf5114e8ca9f29ae1feb0510f738396f354174f691bf96e863b41058742a58 reactive-resume-clean-install-20260519.zip
|
||||||
58ae9ef624aeec71ef27127540eaa42326169492cf19429cc2d1035d14844783 reactive-resume-qnap-nas-isiseg-20260518.tar.gz
|
b7cdb405f24ff7653aac9d21f3bd347884e377c8a993d8bb1b7d9d77295425d2 reactive-resume-personal-direct-20260519.zip
|
||||||
1c870641e2e79d68bc59152eecb60bc5836cd27f62b0b0046ee36ee7861c3b8d reactive-resume-qnap-nas-isiseg-20260518.zip
|
4f009713344f739c97ac6297a4fa69d6c4e16203b89eb5f9fd0dd9e3c36337ab reactive-resume-personal-qnap-nas-20260519.zip
|
||||||
|
|||||||
BIN
dist/reactive-resume-isiseg-direct-20260518.tar.gz
vendored
BIN
dist/reactive-resume-isiseg-direct-20260518.zip
vendored
BIN
dist/reactive-resume-personal-direct-20260519.tar.gz
vendored
Normal file
BIN
dist/reactive-resume-personal-direct-20260519.zip
vendored
Normal file
BIN
dist/reactive-resume-personal-qnap-nas-20260519.tar.gz
vendored
Normal file
BIN
dist/reactive-resume-personal-qnap-nas-20260519.zip
vendored
Normal file
BIN
dist/reactive-resume-qnap-nas-isiseg-20260518.tar.gz
vendored
BIN
dist/reactive-resume-qnap-nas-isiseg-20260518.zip
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Reactive Resume isiseg.huijutec.cn 直接运行安装包
|
# Reactive Resume 个人简历直接运行安装包
|
||||||
|
|
||||||
这套包已经按 `https://isiseg.huijutec.cn` 和 FRP `remotePort = 10004` 预置,可以在当前服务器上直接运行。
|
这套包已经按 `https://isiseg.huijutec.cn` 和 FRP `remotePort = 10004` 预置,可以在当前服务器上直接运行。包内已包含当前简历初始化数据、头像和作品集图片,首次启动后可直接访问公开简历。
|
||||||
|
|
||||||
## 启动
|
## 启动
|
||||||
|
|
||||||
@@ -12,6 +12,7 @@ docker compose -f compose.yml up -d
|
|||||||
|
|
||||||
- 本机调试地址:`http://127.0.0.1:3004`
|
- 本机调试地址:`http://127.0.0.1:3004`
|
||||||
- 公网访问地址:`https://isiseg.huijutec.cn`
|
- 公网访问地址:`https://isiseg.huijutec.cn`
|
||||||
|
- 当前公开简历:`https://isiseg.huijutec.cn/audience/resume`
|
||||||
- FRP 映射:本地 `reactive-resume:3000` -> 公网服务器 `10004`
|
- FRP 映射:本地 `reactive-resume:3000` -> 公网服务器 `10004`
|
||||||
|
|
||||||
## 反向代理要求
|
## 反向代理要求
|
||||||
@@ -27,9 +28,9 @@ docker compose -f compose.yml up -d
|
|||||||
|
|
||||||
## 数据
|
## 数据
|
||||||
|
|
||||||
Compose 会创建独立项目名 `reactive-resume-isiseg`,默认使用 Docker named volumes:
|
Compose 会创建独立项目名 `reactive-resume-personal`,默认使用 Docker named volumes:
|
||||||
|
|
||||||
- `reactive-resume-isiseg_postgres_data`
|
- `reactive-resume-personal_postgres_data`
|
||||||
- `reactive-resume-isiseg_reactive_resume_data`
|
- `reactive-resume-personal_reactive_resume_data`
|
||||||
|
|
||||||
如需迁移数据,请备份这些 volumes。
|
`seed/` 目录会在首次启动时导入当前用户、公开简历和上传图片。后续如需迁移数据,请备份这些 volumes。
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
name: reactive-resume-isiseg
|
name: reactive-resume-personal
|
||||||
|
|
||||||
services:
|
services:
|
||||||
postgres:
|
postgres:
|
||||||
@@ -45,6 +45,34 @@ services:
|
|||||||
retries: 5
|
retries: 5
|
||||||
start_period: 30s
|
start_period: 30s
|
||||||
|
|
||||||
|
seed:
|
||||||
|
image: postgres:16-alpine
|
||||||
|
restart: "no"
|
||||||
|
user: "0:0"
|
||||||
|
entrypoint: ["/bin/sh"]
|
||||||
|
command:
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
set -eu
|
||||||
|
mkdir -p /app/data/uploads
|
||||||
|
cp -a /seed/uploads/. /app/data/uploads/
|
||||||
|
chown -R 1000:1000 /app/data/uploads || true
|
||||||
|
psql -h postgres -U "${POSTGRES_USER}" -d "${POSTGRES_DB}" -v ON_ERROR_STOP=1 -f /seed/seed.sql
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
environment:
|
||||||
|
PGPASSWORD: ${POSTGRES_PASSWORD}
|
||||||
|
volumes:
|
||||||
|
- reactive_resume_data:/app/data
|
||||||
|
- ./seed:/seed:ro
|
||||||
|
networks:
|
||||||
|
- resume_net
|
||||||
|
depends_on:
|
||||||
|
postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
reactive-resume:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
frpc:
|
frpc:
|
||||||
image: fatedier/frpc:v0.68.0
|
image: fatedier/frpc:v0.68.0
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@@ -54,8 +82,8 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- resume_net
|
- resume_net
|
||||||
depends_on:
|
depends_on:
|
||||||
reactive-resume:
|
seed:
|
||||||
condition: service_healthy
|
condition: service_completed_successfully
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
resume_net:
|
resume_net:
|
||||||
@@ -10,7 +10,7 @@ transport:
|
|||||||
heartbeatTimeout: -1
|
heartbeatTimeout: -1
|
||||||
|
|
||||||
proxies:
|
proxies:
|
||||||
- name: "reactive-resume-isiseg"
|
- name: "reactive-resume-personal"
|
||||||
type: "tcp"
|
type: "tcp"
|
||||||
localIP: "reactive-resume"
|
localIP: "reactive-resume"
|
||||||
localPort: 3000
|
localPort: 3000
|
||||||
1250
packages/reactive-resume-personal-direct/seed/resume-data.json
Normal file
1326
packages/reactive-resume-personal-direct/seed/seed.sql
Normal file
|
After Width: | Height: | Size: 6.4 MiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 329 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 191 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 106 KiB |
|
After Width: | Height: | Size: 198 KiB |
|
After Width: | Height: | Size: 106 KiB |
|
After Width: | Height: | Size: 812 KiB |
|
After Width: | Height: | Size: 131 KiB |
|
After Width: | Height: | Size: 558 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 754 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 311 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 97 KiB |
35
packages/reactive-resume-personal-qnap-nas/README.md
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
# Reactive Resume 个人简历 / QNAP NAS 安装包
|
||||||
|
|
||||||
|
这套包面向威联通 QNAP QTS / Container Station,已按以下参数预置:
|
||||||
|
|
||||||
|
- NAS 数据目录:`/share/Container/Reactive_Resume_Personal`
|
||||||
|
- 本地端口:`3004:3000`
|
||||||
|
- 公网域名:`https://isiseg.huijutec.cn`
|
||||||
|
- 当前公开简历:`https://isiseg.huijutec.cn/audience/resume`
|
||||||
|
- FRP 服务器:`82.157.255.195:7000`
|
||||||
|
- FRP remotePort:`10004`
|
||||||
|
|
||||||
|
包内已包含当前简历初始化数据、头像和作品集图片,首次启动后会由 `reactive_resume_seed` 自动导入。
|
||||||
|
|
||||||
|
## 部署
|
||||||
|
|
||||||
|
1. 将本安装包整体解压到 `/share/Container/Reactive_Resume_Personal`
|
||||||
|
2. 打开 Container Station,导入 `/share/Container/Reactive_Resume_Personal/compose-Nas.yml`
|
||||||
|
3. 启动项目
|
||||||
|
4. 访问 `https://isiseg.huijutec.cn/audience/resume`
|
||||||
|
|
||||||
|
## 反向代理要求
|
||||||
|
|
||||||
|
公网服务器上的 Nginx Proxy Manager / 反向代理应配置:
|
||||||
|
|
||||||
|
- Domain Names:`isiseg.huijutec.cn`
|
||||||
|
- Scheme:`http`
|
||||||
|
- Forward Hostname / IP:`82.157.255.195`
|
||||||
|
- Forward Port:`10004`
|
||||||
|
- Websockets Support:开启
|
||||||
|
|
||||||
|
## 数据目录
|
||||||
|
|
||||||
|
- PostgreSQL:`/share/Container/Reactive_Resume_Personal/data/postgres`
|
||||||
|
- 上传与本地存储:`/share/Container/Reactive_Resume_Personal/data/uploads`
|
||||||
|
- 初始化种子:`/share/Container/Reactive_Resume_Personal/seed`
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
# Reactive Resume isiseg.huijutec.cn / QNAP QTS 直接部署版。
|
# Reactive Resume 个人简历 / QNAP QTS 直接部署版。
|
||||||
# 本文件已按 /share/Container/Reactive_Resume_Isiseg、
|
# 本文件已按 /share/Container/Reactive_Resume_Personal、
|
||||||
# https://isiseg.huijutec.cn、192.168.31.5:3004 本地访问、
|
# https://isiseg.huijutec.cn、192.168.31.5:3004 本地访问、
|
||||||
# frpc 公网映射 82.157.255.195:10004 预置。
|
# frpc 公网映射 82.157.255.195:10004 预置。
|
||||||
|
|
||||||
name: reactive-resume-isiseg-nas
|
name: reactive-resume-personal-nas
|
||||||
|
|
||||||
services:
|
services:
|
||||||
reactive_resume_permissions:
|
reactive_resume_permissions:
|
||||||
@@ -11,7 +11,7 @@ services:
|
|||||||
restart: "no"
|
restart: "no"
|
||||||
command: ["sh", "-c", "mkdir -p /app/data && chown -R 1000:1000 /app/data"]
|
command: ["sh", "-c", "mkdir -p /app/data && chown -R 1000:1000 /app/data"]
|
||||||
volumes:
|
volumes:
|
||||||
- /share/Container/Reactive_Resume_Isiseg/data/uploads:/app/data
|
- /share/Container/Reactive_Resume_Personal/data/uploads:/app/data
|
||||||
|
|
||||||
reactive_resume_db:
|
reactive_resume_db:
|
||||||
image: postgres:16-alpine
|
image: postgres:16-alpine
|
||||||
@@ -21,7 +21,7 @@ services:
|
|||||||
POSTGRES_USER: reactive_resume
|
POSTGRES_USER: reactive_resume
|
||||||
POSTGRES_PASSWORD: 5b341c0ca29fefd6d648661150c00fa4
|
POSTGRES_PASSWORD: 5b341c0ca29fefd6d648661150c00fa4
|
||||||
volumes:
|
volumes:
|
||||||
- /share/Container/Reactive_Resume_Isiseg/data/postgres:/var/lib/postgresql/data
|
- /share/Container/Reactive_Resume_Personal/data/postgres:/var/lib/postgresql/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "pg_isready -U reactive_resume -d reactive_resume"]
|
test: ["CMD-SHELL", "pg_isready -U reactive_resume -d reactive_resume"]
|
||||||
interval: 10s
|
interval: 10s
|
||||||
@@ -39,7 +39,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "3004:3000"
|
- "3004:3000"
|
||||||
volumes:
|
volumes:
|
||||||
- /share/Container/Reactive_Resume_Isiseg/data/uploads:/app/data
|
- /share/Container/Reactive_Resume_Personal/data/uploads:/app/data
|
||||||
environment:
|
environment:
|
||||||
TZ: Asia/Shanghai
|
TZ: Asia/Shanghai
|
||||||
APP_URL: https://isiseg.huijutec.cn
|
APP_URL: https://isiseg.huijutec.cn
|
||||||
@@ -89,6 +89,32 @@ services:
|
|||||||
retries: 8
|
retries: 8
|
||||||
start_period: 30s
|
start_period: 30s
|
||||||
|
|
||||||
|
reactive_resume_seed:
|
||||||
|
image: postgres:16-alpine
|
||||||
|
restart: "no"
|
||||||
|
user: "0:0"
|
||||||
|
entrypoint: ["/bin/sh"]
|
||||||
|
command:
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
set -eu
|
||||||
|
mkdir -p /app/data/uploads
|
||||||
|
cp -a /seed/uploads/. /app/data/uploads/
|
||||||
|
chown -R 1000:1000 /app/data/uploads || true
|
||||||
|
psql -h reactive_resume_db -U reactive_resume -d reactive_resume -v ON_ERROR_STOP=1 -f /seed/seed.sql
|
||||||
|
environment:
|
||||||
|
PGPASSWORD: 5b341c0ca29fefd6d648661150c00fa4
|
||||||
|
volumes:
|
||||||
|
- /share/Container/Reactive_Resume_Personal/data/uploads:/app/data
|
||||||
|
- /share/Container/Reactive_Resume_Personal/seed:/seed:ro
|
||||||
|
depends_on:
|
||||||
|
reactive_resume_permissions:
|
||||||
|
condition: service_completed_successfully
|
||||||
|
reactive_resume_db:
|
||||||
|
condition: service_healthy
|
||||||
|
reactive_resume_app:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
reactive_resume_frpc:
|
reactive_resume_frpc:
|
||||||
image: snowdreamtech/frpc:latest
|
image: snowdreamtech/frpc:latest
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@@ -107,7 +133,7 @@ services:
|
|||||||
transport.heartbeatTimeout = -1
|
transport.heartbeatTimeout = -1
|
||||||
|
|
||||||
[[proxies]]
|
[[proxies]]
|
||||||
name = "Reactive_Resume_Isiseg_NAS"
|
name = "Reactive_Resume_Personal_NAS"
|
||||||
type = "tcp"
|
type = "tcp"
|
||||||
localIP = "reactive_resume_app"
|
localIP = "reactive_resume_app"
|
||||||
localPort = 3000
|
localPort = 3000
|
||||||
@@ -115,5 +141,5 @@ services:
|
|||||||
EOF
|
EOF
|
||||||
exec frpc -c /tmp/frpc.toml
|
exec frpc -c /tmp/frpc.toml
|
||||||
depends_on:
|
depends_on:
|
||||||
reactive_resume_app:
|
reactive_resume_seed:
|
||||||
condition: service_healthy
|
condition: service_completed_successfully
|
||||||
1250
packages/reactive-resume-personal-qnap-nas/seed/resume-data.json
Normal file
1326
packages/reactive-resume-personal-qnap-nas/seed/seed.sql
Normal file
|
After Width: | Height: | Size: 6.4 MiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 329 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 191 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 106 KiB |
|
After Width: | Height: | Size: 198 KiB |
|
After Width: | Height: | Size: 106 KiB |
|
After Width: | Height: | Size: 812 KiB |
|
After Width: | Height: | Size: 131 KiB |
|
After Width: | Height: | Size: 558 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 754 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 311 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 97 KiB |
@@ -1,31 +0,0 @@
|
|||||||
# Reactive Resume isiseg.huijutec.cn / QNAP NAS 安装包
|
|
||||||
|
|
||||||
这套包面向威联通 QNAP QTS / Container Station,已按以下参数预置:
|
|
||||||
|
|
||||||
- NAS 数据目录:`/share/Container/Reactive_Resume_Isiseg`
|
|
||||||
- 本地端口:`3004:3000`
|
|
||||||
- 公网域名:`https://isiseg.huijutec.cn`
|
|
||||||
- FRP 服务器:`82.157.255.195:7000`
|
|
||||||
- FRP remotePort:`10004`
|
|
||||||
|
|
||||||
## 部署
|
|
||||||
|
|
||||||
1. 在 QTS 中确认目录可创建:`/share/Container/Reactive_Resume_Isiseg`
|
|
||||||
2. 打开 Container Station,导入 `compose-Nas.yml`
|
|
||||||
3. 启动项目
|
|
||||||
4. 访问 `https://isiseg.huijutec.cn`
|
|
||||||
|
|
||||||
## 反向代理要求
|
|
||||||
|
|
||||||
公网服务器上的 Nginx Proxy Manager / 反向代理应配置:
|
|
||||||
|
|
||||||
- Domain Names:`isiseg.huijutec.cn`
|
|
||||||
- Scheme:`http`
|
|
||||||
- Forward Hostname / IP:`82.157.255.195`
|
|
||||||
- Forward Port:`10004`
|
|
||||||
- Websockets Support:开启
|
|
||||||
|
|
||||||
## 数据目录
|
|
||||||
|
|
||||||
- PostgreSQL:`/share/Container/Reactive_Resume_Isiseg/data/postgres`
|
|
||||||
- 上传与本地存储:`/share/Container/Reactive_Resume_Isiseg/data/uploads`
|
|
||||||