commit 99772667162dcaadc26d1fd737b24c073558442c Author: admin <572701190@qq.com> Date: Fri May 15 13:54:15 2026 +0800 first commit diff --git a/.env b/.env new file mode 100644 index 0000000..91b6fde --- /dev/null +++ b/.env @@ -0,0 +1,53 @@ +# Reactive Resume public URL behind Nginx Proxy Manager. +TZ=Asia/Shanghai +APP_URL=https://me.huijutec.cn + +# Local debug access only: http://127.0.0.1:3003 +LOCAL_APP_PORT=3003 + +# PostgreSQL. +POSTGRES_DB=reactive_resume +POSTGRES_USER=reactive_resume +POSTGRES_PASSWORD=S47LNqOvKzDTgGPo9C26LWf5 +DATABASE_URL=postgresql://reactive_resume:S47LNqOvKzDTgGPo9C26LWf5@postgres:5432/reactive_resume + +# Generated with: openssl rand -hex 32 +AUTH_SECRET=9f27ca158d1c97d58bed21c8c8d8819e3c81111418682972e5f16281ea4ff0c8 + +# Optional email/auth/storage/AI settings can be enabled later. +BETTER_AUTH_API_KEY= +GOOGLE_CLIENT_ID= +GOOGLE_CLIENT_SECRET= +GITHUB_CLIENT_ID= +GITHUB_CLIENT_SECRET= +LINKEDIN_CLIENT_ID= +LINKEDIN_CLIENT_SECRET= +OAUTH_PROVIDER_NAME= +OAUTH_CLIENT_ID= +OAUTH_CLIENT_SECRET= +OAUTH_DISCOVERY_URL= +OAUTH_AUTHORIZATION_URL= +OAUTH_TOKEN_URL= +OAUTH_USER_INFO_URL= +OAUTH_DYNAMIC_CLIENT_REDIRECT_HOSTS= +OAUTH_SCOPES= +SMTP_HOST= +SMTP_PORT=587 +SMTP_USER= +SMTP_PASS= +SMTP_FROM=Reactive Resume +SMTP_SECURE=false +S3_ACCESS_KEY_ID= +S3_SECRET_ACCESS_KEY= +S3_REGION=us-east-1 +S3_ENDPOINT= +S3_BUCKET= +S3_FORCE_PATH_STYLE=false +REDIS_URL= +ENCRYPTION_SECRET= +CLOUDFLARE_ACCOUNT_ID= +CLOUDFLARE_API_TOKEN= +FLAG_DISABLE_SIGNUPS=false +FLAG_DISABLE_EMAIL_AUTH=false +FLAG_DISABLE_IMAGE_PROCESSING=false +FLAG_ALLOW_UNSAFE_AI_BASE_URL=false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ebdec85 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +data/ +*.log +.DS_Store diff --git a/README.md b/README.md new file mode 100644 index 0000000..3dcf401 --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +# Reactive Resume + frpc + +该目录使用 Docker Compose 启动 Reactive Resume,并通过 frpc 把容器内的 `reactive-resume:3000` 映射到远端 `82.157.255.195:10003`。Nginx Proxy Manager 已将 `https://me.huijutec.cn` 反代到该远端端口。 + +## 文件 + +- `compose.yml`: Docker Compose 编排,包含 Postgres、Reactive Resume、frpc。 +- `.env`: Reactive Resume 环境变量和本地调试端口。 +- `frpc.yaml`: frpc 客户端配置,远端端口为 `10003`。 +- `reactive_resume_data`: Reactive Resume 本地上传文件持久化 Docker 命名卷。 + +## 启动 + +```bash +docker compose -f compose.yml up -d +``` + +## 查看状态 + +```bash +docker compose -f compose.yml ps +docker compose -f compose.yml logs -f reactive-resume +docker compose -f compose.yml logs -f frpc +``` + +## 访问 + +- 公网访问: `https://me.huijutec.cn` +- 本机调试: `http://127.0.0.1:3003` + +## 更新 + +```bash +docker compose -f compose.yml pull +docker compose -f compose.yml up -d +``` diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..d115490 --- /dev/null +++ b/compose.yml @@ -0,0 +1,65 @@ +name: reactive-resume + +services: + postgres: + image: postgres:16-alpine + restart: unless-stopped + environment: + POSTGRES_DB: ${POSTGRES_DB} + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + volumes: + - postgres_data:/var/lib/postgresql/data + networks: + - resume_net + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] + interval: 10s + timeout: 5s + retries: 10 + + reactive-resume: + image: amruthpillai/reactive-resume:latest + restart: unless-stopped + env_file: + - .env + ports: + - "127.0.0.1:${LOCAL_APP_PORT}:3000" + volumes: + - reactive_resume_data:/app/data + networks: + - resume_net + depends_on: + postgres: + condition: service_healthy + healthcheck: + test: + [ + "CMD", + "node", + "-e", + "fetch('http://127.0.0.1:3000/api/health').then((r) => { if (!r.ok) process.exit(1); }).catch(() => process.exit(1));", + ] + interval: 30s + timeout: 10s + retries: 5 + + frpc: + image: fatedier/frpc:v0.68.0 + restart: unless-stopped + command: ["-c", "/etc/frp/frpc.yaml"] + volumes: + - ./frpc.yaml:/etc/frp/frpc.yaml:ro + networks: + - resume_net + depends_on: + reactive-resume: + condition: service_healthy + +networks: + resume_net: + driver: bridge + +volumes: + postgres_data: + reactive_resume_data: diff --git a/frpc.yaml b/frpc.yaml new file mode 100644 index 0000000..1127c8a --- /dev/null +++ b/frpc.yaml @@ -0,0 +1,17 @@ +serverAddr: "82.157.255.195" +serverPort: 7000 + +auth: + method: "token" + token: "en.xjtu.edu.cn" + +transport: + poolCount: 5 + heartbeatTimeout: -1 + +proxies: + - name: "reactive-resume-me" + type: "tcp" + localIP: "reactive-resume" + localPort: 3000 + remotePort: 10003 diff --git a/参考简历/2024_CSC_王志博-简历-中文.docx b/参考简历/2024_CSC_王志博-简历-中文.docx new file mode 100644 index 0000000..ee26a97 Binary files /dev/null and b/参考简历/2024_CSC_王志博-简历-中文.docx differ diff --git a/参考简历/王志博-简历-中文.docx b/参考简历/王志博-简历-中文.docx new file mode 100644 index 0000000..72cad12 Binary files /dev/null and b/参考简历/王志博-简历-中文.docx differ