Files
AIclinicalresearch/docs/03-业务模块/Redcap/01-部署与配置/10-REDCap_Docker部署操作手册.md
HaHafeng 1b53ab9d52 feat(aia): Complete AIA V2.0 with universal streaming capabilities
Major Changes:
- Add StreamingService with OpenAI Compatible format
- Upgrade Chat component V2 with Ant Design X integration
- Implement AIA module with 12 intelligent agents
- Update API routes to unified /api/v1 prefix
- Update system documentation

Backend (~1300 lines):
- common/streaming: OpenAI Compatible adapter
- modules/aia: 12 agents, conversation service, streaming integration
- Update route versions (RVW, PKB to v1)

Frontend (~3500 lines):
- modules/aia: AgentHub + ChatWorkspace (100% prototype restoration)
- shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook
- Update API endpoints to v1

Documentation:
- AIA module status guide
- Universal capabilities catalog
- System overview updates
- All module documentation sync

Tested: Stream response verified, authentication working
Status: AIA V2.0 core completed (85%)
2026-01-14 19:15:01 +08:00

20 KiB
Raw Blame History

REDCap Docker驛ィ鄂イ謫堺ス懈焔蜀<E78494>

*迚域悽<EFBFBD>? v1.0
€蜷取峩譁ー<EFBFBD><EFBFBD> 2026-01-02
*騾ら畑邇ッ蠅<EFBFBD>シ? Windows/Linux/Mac + Docker
*REDCap迚域悽<EFBFBD>? 15.8.0
鬪瑚ッ∫憾諤<EFBFBD><EFBFBD> 笨?蟾イ蝨ィ譛ャ蝨ーWindows邇ッ蠅<EFBDAF>ェ瑚ッ<E7919A>€夊ソ<E5A48A>


<EFBFBD>搭 譁<>。」逶ョ譬<EFBDAE>

譛ャ謇句<EFBFBD>謠蝉セ娚EDCap蝓コ莠札ocker逧?<EFBFBD>㊥蛹夜Κ鄂イ豬∫ィ?<EFBFBD>€ら畑莠趣シ<EFBFBD>

  • 笨?譛ャ蝨ー蠑€蜿醍識蠅?
  • 笨?髦ソ驥御コ薦CS逕滉コァ邇ッ蠅<EFBDAF>
  • 笨?蛹サ髯「遘∵怏蛹匁恪蜉。蝎ィ

*譬ク蠢<EFBFBD>シ伜漢<EFBFBD>?

  • <EFBFBD>売 **蜿ッ螟咲<E89E9F>?*<2A>咼ocker驟咲スョ譁<EFBDAE>サカ蜿ッ蝨ィ荳榊酔邇ッ蠅<EFBDAF>峩謗・菴ソ逕ィ
  • <EFBFBD>逃 **荳€閾エ諤?*<2A>壼シ€蜿醍識蠅?逕滉コァ邇ッ蠅<EFBDAF>シ碁∩蜈咲識蠅<E8AD98>キョ蠑?
  • <EFBFBD>噫 **蠢ォ騾滄Κ鄂?*<2A>?0蛻<30>帖蜀<E5B896>ョ梧<EFBDAE>驛ィ鄂?
  • <EFBFBD><EFBFBD>?髣ョ鬚倩ァ<EFBFBD><EFBFBD>壼渕莠主ョ樣刔雕ゥ蝮醍サ城ェ鯉シ碁「<EFBFBD>亟蟶ク隗<EFBFBD>琉鬚<EFBFBD>

<EFBFBD>識 驛ィ鄂イ譫カ譫<EFBDB6>

<EFBFBD>㊥譫カ譫<EFBFBD>シ?荳ェDocker螳ケ蝎ィ<E89D8E>?

笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?
笏? REDCap Docker 驛ィ鄂イ譫カ譫<EFBDB6>                  笏?
笏懌楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?
笏?                                         笏?
笏? 笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏? 笏?
笏? 笏? redcap-apache (Web螳ケ蝎ィ)         笏? 笏?
笏? 笏? - PHP 8.1 + Apache 2.4          笏? 笏?
笏? 笏? - REDCap 15.8.0 貅千<E8B285><E58D83>            笏? 笏?
笏? 笏? - Cron螳壽慮莉サ蜉。                   笏? 笏?
笏? 笏? Port: 8080 竊?80                 笏? 笏?
笏? 笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏? 笏?
笏?            竊?                           笏?
笏? 笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏? 笏?
笏? 笏? redcap-mysql (謨ー謐ョ蠎灘ョケ蝎?       笏? 笏?
笏? 笏? - MySQL 8.0                     笏? 笏?
笏? 笏? - 謨ー謐ョ謖∽ケ<E288BD><EFBDB9>?Volume)             笏? 笏?
笏? 笏? Port: 3306 (蜀<>Κ)               笏? 笏?
笏? 笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏? 笏?
笏?            竊?                           笏?
笏? 笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏? 笏?
笏? 笏? redcap-phpmyadmin (邂。逅<EFBDA1>キ・蜈キ)    笏? 笏?
笏? 笏? - phpMyAdmin 5                  笏? 笏?
笏? 笏? Port: 8081 竊?80                 笏? 笏?
笏? 笏? (蜿ッ騾会シ御サ<E5BEA1>€蜿醍識蠅?               笏? 笏?
笏? 笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏? 笏?
笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?

<EFBFBD>逃 蜿ッ螟咲畑逧Дocker譁<72>サカ貂<EFBDB6>

譬ク蠢<EFBFBD>枚莉カ<EFBFBD>亥ソ<EFBFBD><EFBFBD>悟庄逶エ謗・螟咲畑<EFBFBD>?

<EFBFBD>サカ霍ッ蠕<EFBFBD> 隸エ譏<EFBFBD> 邇ッ蠅<EFBFBD>キョ蠑<EFBFBD> 螟咲畑諤?
Dockerfile.redcap REDCap髟懷ワ譫<EFBFBD>サコ譁<EFBFBD>サカ <EFBFBD>蟾ョ蠑? 笨?100%蜿ッ螟咲<E89E9F>?
docker-compose.yml €蜿醍識蠅<EFBFBD>シ匁賜譁<EFBFBD>サ? €<EFBFBD>紛遶ッ蜿」/蜊キ霍ッ蠕? <EFBFBD><EFBFBD><EFBFBD>€蠕ョ隹<EFBDAE>
docker-compose.prod.yml 逕滉コァ邇ッ蠅<EFBFBD>シ匁賜譁<EFBFBD>サカ €驟咲スョRDS <EFBFBD><EFBFBD><EFBFBD>€菫ョ謾ケ謨ー謐ョ蠎馴<E8A08E>鄂?
docker-entrypoint.sh 螳ケ蝎ィ蜷ッ蜉ィ閼壽悽 <EFBFBD>蟾ョ蠑? 笨?100%蜿ッ螟咲<E89E9F>?
config/apache/redcap.conf Apache陌壽供荳サ譛コ驟咲スョ €<EFBFBD>紛蝓溷錐 <EFBFBD><EFBFBD><EFBFBD> 髴€菫ョ謾ケ蝓溷錐
config/php/php.ini PHP霑占。梧慮驟咲ス? <EFBFBD>蟾ョ蠑? 笨?100%蜿ッ螟咲<E89E9F>?
config/database.php REDCap謨ー謐ョ蠎楢ソ樊磁驟咲ス? <EFBFBD>。サ菫ョ謾ケ 笶?髴€髓亥ッケ邇ッ蠅<EFBDAF>ョ壼宛
.gitattributes Git謐「陦檎ャヲ隗<EFBFBD><EFBFBD>? <EFBFBD>蟾ョ蠑? 笨?100%蜿ッ螟咲<E89E9F>?

<EFBFBD>勧閼壽悽<EFBFBD>亥庄騾会シ<EFBFBD>

<EFBFBD>サカ霍ッ蠕<EFBFBD> 隸エ譏<EFBFBD> 騾ら畑蝨コ譎ッ
scripts/setup-redcap.ps1 €髞ョ驛ィ鄂イ閼壽悽<EFBFBD><EFBFBD>indows<EFBFBD>? 譛ャ蝨ー蠑€蜿?
scripts/start-redcap.ps1 蜷ッ蜉ィ譛榊苅 譛ャ蝨ー蠑€蜿?
scripts/stop-redcap.ps1 蛛懈ュ「譛榊苅 譛ャ蝨ー蠑€蜿?
scripts/clean-redcap.ps1 <EFBFBD>炊邇ッ蠅<EFBFBD> 譛ャ蝨ー蠑€蜿?
scripts/create-redcap-password.php <EFBFBD><EFBFBD><EFBFBD>㍾鄂ョ蟾・蜈キ 蠑€蜿?霑千サエ

<EFBFBD>噫 驛ィ鄂イ豬∫ィ具シ井サ<E4BA95>0蛻?<3F>?

髦カ谿オ1<EFBFBD>夂識蠅<EFBFBD>㊥螟?

1.1 螳芽」<E88ABD>ocker

*Windows/Mac<61>?

# 荳玖スス蟷カ螳芽」<E88ABD>ocker Desktop
# https://www.docker.com/products/docker-desktop/

# 鬪瑚ッ∝ョ芽」<E88ABD>
docker --version
docker-compose --version

Linux<EFBFBD><EFBFBD>entOS/Ubuntu<74>会シ<E4BC9A>

# CentOS 7/8
sudo yum install -y docker docker-compose

# Ubuntu 20.04/22.04
sudo apt update
sudo apt install -y docker.io docker-compose

# 蜷ッ蜉ィDocker
sudo systemctl start docker
sudo systemctl enable docker

# 鬪瑚ッ∝ョ芽」<E88ABD>
docker --version
docker-compose --version

1.2 闔キ蜿乏EDCap貅千<E8B285><E58D83>

*驥崎ヲ∬ッエ譏趣シ? REDCap譏ッ蝠<EFBDAF>ク夊スッ莉カ<E88E89>碁怙隕<E68099><EFBFBD>

  1. 隶ソ髣ョ https://projectredcap.org/
  2. 豕ィ蜀悟ケカ逕ウ隸キ遉セ蛹コ迚域<EFBFBD><EFBFBD>ク夂沿
  3. 荳玖ススREDCap 15.8.0貅千<EFBFBD>∝桁<EFBFBD><EFBFBD>edcap15.8.0.zip<69>?

*逶ョ蠖慕サ捺桷<EFBFBD>?

your-project/
笏懌楳笏€ redcap-docker-dev/          # Docker驟咲スョ逶ョ蠖<EFBDAE>
笏?  笏懌楳笏€ Dockerfile.redcap
笏?  笏懌楳笏€ docker-compose.yml
笏?  笏懌楳笏€ docker-entrypoint.sh
笏?  笏懌楳笏€ config/
笏?  笏披楳笏€ scripts/
笏?
笏披楳笏€ redcap15.8.0/               # REDCap貅千<E8B285><E58D83>シ郁ァ」蜴句錘<E58FA5>?
    笏懌楳笏€ redcap_v15.8.0/
    笏懌楳笏€ install.php
    笏懌楳笏€ index.php
    笏披楳笏€ ...

髦カ谿オ2<EFBFBD><EFBFBD>鄂ョDocker譁<EFBFBD>サカ

2.1 蛻帛サコ鬘ケ逶ョ逶ョ蠖<EFBDAE>

# 蛻帛サコ逶ョ蠖慕サ捺桷
mkdir -p redcap-docker-dev/config/{apache,php}
mkdir -p redcap-docker-dev/scripts
mkdir -p redcap-docker-dev/data/mysql    # MySQL謨ー謐ョ謖∽ケ<E288BD><EFBDB9>?
mkdir -p redcap-docker-dev/logs          # 譌・蠢礼岼蠖<E5B2BC>

2.2 螟榊宛Docker驟咲スョ譁<EFBDAE>サカ

莉取<EFBFBD>莉ャ逧<EFBFBD>。ケ逶ョ荳ュ螟榊宛莉・荳区枚莉カ<EFBFBD><EFBFBD>

# 譬ク蠢<EFBDB8>枚莉カ<E88E89>亥庄逶エ謗・螟咲畑<E592B2>梧裏髴€菫ョ謾ケ<E8ACBE>?
cp AIclinicalresearch/redcap-docker-dev/Dockerfile.redcap ./
cp AIclinicalresearch/redcap-docker-dev/docker-entrypoint.sh ./
cp AIclinicalresearch/redcap-docker-dev/config/php/php.ini ./config/php/
cp AIclinicalresearch/redcap-docker-dev/.gitattributes ./

# 髴€隕∽ソョ謾ケ逧<EFBDB9>枚莉カ
cp AIclinicalresearch/redcap-docker-dev/docker-compose.yml ./
cp AIclinicalresearch/redcap-docker-dev/config/apache/redcap.conf ./config/apache/
cp AIclinicalresearch/redcap-docker-dev/config/database.php ./config/

2.3 驟咲スョ邇ッ蠅<EFBDAF>序驥擾シ亥庄騾会シ<E4BC9A>

蛻帛サコ.env<EFBFBD>サカ<EFBFBD>亥盾閠チenv.template`<60>会シ<E4BC9A>

# MySQL驟咲スョ
MYSQL_ROOT_PASSWORD=your_strong_root_password_here
MYSQL_DATABASE=redcap
MYSQL_USER=redcap_user
MYSQL_PASSWORD=your_strong_password_here

# REDCap驟咲スョ
REDCAP_VERSION=15.8.0
REDCAP_BASE_URL=http://localhost:8080

# 遶ッ蜿」驟咲スョ<EFBDBD>磯∩蜈榊<E89C88><EFBFBD><EFBFBD>
REDCAP_WEB_PORT=8080
MYSQL_PORT=3306
PHPMYADMIN_PORT=8081

2.4 菫ョ謾ケdatabase.php<68>磯㍾隕<E38DBE><EFBFBD>シ?

郛冶セ疏config/database.php`<60><EFBFBD>ケ謐ョ邇ッ蠅<EFBDAF>ソョ謾ケ<E8ACBE><EFBDB9>

€蜿醍識蠅<EFBFBD><EFBFBD>ocker MySQL<51>会シ<E4BC9A>

$hostname   = 'redcap-mysql';     // Docker Compose譛榊苅蜷?
$db         = 'redcap';
$username   = 'redcap_user';
$password   = 'your_password';    // 荳?env菫晄戟荳€閾?
$salt       = 'dev_salt_2026';    // 蠑€蜿醍識蠅<E8AD98>崋螳嘖alt

逕滉コァ邇ッ蠅<EFBFBD>シ磯仭驥御コ然DS<EFBFBD>会シ<EFBFBD>

$hostname   = 'rm-xxx.mysql.rds.aliyuncs.com';  // RDS蜀<53>ス大慍蝮€
$db         = 'redcap_prod';
$username   = 'redcap_admin';
$password   = 'your_strong_prod_password';      // 蠑コ蟇<EFBDBA><E89F87><EFBFBD><EFBFBD>
$salt       = 'your_random_32_chars_salt';      // 笞<><E7AC9E><EFBFBD> 豌ク荳榊庄蜿假シ?

*<EFBFBD><EFBFBD><EFBFBD> 蜈ウ髞ョ豕ィ諢丈コ矩。ケ<EFBDA1>?

  1. 笨?**蛻<>髯、譁<EFBDA4>サカ譛ォ蟆セ逧Я?>`蜥檎ゥコ陦?*<2A>磯亟豁「CRLF豎。譟難シ?
  2. 笨?**Salt蛟シ荳€譌ヲ隶セ鄂ョ豌ク荳榊庄謾?*<2A>亥スア蜩肴焚謐ョ蜴サ譬<EFBDBB><EFBFBD><EFBFBD><E596A7>
  3. 笨?**逕滉コァ邇ッ蠅<EFBDAF>スソ逕ィ蠑コ蟇<EFBDBA><E89F87>?*<2A>?2+蟄礼ャヲ<EFBDAC>?

髦カ谿オ3<EFBFBD>Κ鄂イREDCap

3.1 譽€譟・REDCap貅千<E8B285>∽ス咲スョ

遑ョ菫拜docker-compose.yml`荳ュ逧<EFBDAD>差謖りスス霍ッ蠕<EFBDAF>ュ」遑ョ<E98191><EFBDAE>

services:
  redcap-web:
    volumes:
      # 蟆<>EDCap貅千<E8B285>∵撃霓ス蛻ー螳ケ蝎?
      - ../redcap15.8.0:/var/www/html/redcap:ro    # 蜿ェ隸サ謖りスス
      
      # 蟆<>atabase.php螟榊宛蛻ー螳ケ蝎ィ<E89D8E>郁ッサ蜀呻シ?
      - ./config/database.php:/var/www/html/redcap/database.php

*霍ッ蠕<EFBFBD>ッエ譏趣シ?

  • ../redcap15.8.0<EFBFBD>夂嶌蟇ケ莠餐redcap-docker-dev`逶ョ蠖<EFBDAE>
  • 螯よ棡貅千<EFBFBD>∝惠蜈カ莉紋ス咲スョ<EFBFBD>御ソョ謾ケ荳コ扈晏ッケ霍ッ蠕<EFBFBD>シ啻D:/path/to/redcap15.8.0`

3.2 譫<>サコ蟷カ蜷ッ蜉ィ螳ケ蝎?

# 霑帛<E99C91>Docker驟咲スョ逶ョ蠖<EFBDAE>
cd redcap-docker-dev

# 譫<>サコREDCap髟懷ワ<E687B7>磯ヲ匁ャ。驛ィ鄂イ髴€<C280>シ檎コ?-10蛻<30><EFBFBD>?
docker-compose build

# 蜷ッ蜉ィ謇€譛画恪蜉?
docker-compose up -d

# 譟・逵句ョケ蝎ィ迥カ諤?
docker-compose ps

# 譟・逵区律蠢暦シ域賜譟・髣ョ鬚假シ<E58187>
docker-compose logs -f redcap-web

*<EFBFBD>悄霎灘<EFBFBD><EFBFBD>?

NAME             IMAGE                  STATUS         PORTS
redcap-apache    redcap-custom:15.8.0   Up 10 seconds  0.0.0.0:8080->80/tcp
redcap-mysql     mysql:8.0              Up 10 seconds  3306/tcp
redcap-phpmyadmin phpmyadmin/phpmyadmin Up 10 seconds  0.0.0.0:8081->80/tcp

3.3 蛻晏ァ句喧謨ー謐ョ蠎<EFBDAE>

譁ケ豕<EFBFBD>1<EFBFBD>€夊ソ⑲EDCap螳芽」<EFBFBD>髄蟇シ<EFBFBD>域耳闕撰シ<EFBFBD>

  1. 隶ソ髣ョ http://localhost:8080/install.php
  2. 謖臥<EFBFBD>蜷大ッシ螳梧<EFBFBD>螳芽」<EFBFBD>
  3. 蛻帛サコ邂。逅<EFBFBD>遭雍ヲ謌?

譁ケ豕<EFBFBD>2<EFBFBD>壼ッシ蜈・SQL譁<EFBFBD>サカ

# 螯よ棡譛臥鴫謌千噪redcap_install.sql
docker exec -i redcap-mysql mysql -uredcap_user -p'your_password' redcap < redcap_install.sql

# 驥咲スョ邂。逅<EFBDA1>遭蟇<E981AD><E89F87>?
docker cp scripts/create-redcap-password.php redcap-apache:/tmp/
docker exec redcap-apache php /tmp/create-redcap-password.php

髦カ谿オ4<EFBFBD>夐ェ瑚ッ<EFBFBD>Κ鄂?

4.1 隶ソ髣ョREDCap

*荳サ鬘オ<EFBFBD>? http://localhost:8080/

*<EFBFBD>悄扈捺棡<EFBFBD>?

  • 笨?鬘オ髱「豁」蟶ク譏セ遉コ<E98189>梧怏REDCap Logo
  • 笨?CSS/JS蜉<53>霓ス豁」蟶ク<E89FB6>梧裏404髞呵ッッ
  • 笨?逋サ蠖墓。<E5A293>庄隗?

*螯よ棡鬘オ髱「譬キ蠑城漠荵ア<EFBFBD>? 蜿りァ∽ク区婿"髣ョ鬚俶賜譟・"遶<><EFBFBD>

4.2 豬玖ッ慕匳蠖<E58CB3>

*鮟倩ョ、雍ヲ謌キ<EFBFBD>?

  • Username: Admin
  • Password: Admin123!<EFBFBD><EFBFBD><EFBFBD>隶セ鄂ョ逧<EFBFBD><EFBFBD><EFBFBD><EFBFBD>シ?

*<EFBFBD>悄扈捺棡<EFBFBD>?

  • 笨?逋サ蠖墓<E8A096>蜉滂シ瑚キウ霓ャ蛻ー荳サ鬘オ
  • 笨?蜿ッ莉・逵句芦"Control Center"縲?My Projects"遲芽除蜊?

4.3 隶ソ髣ョphpMyAdmin

*蝨ー蝮€<EFBFBD>? http://localhost:8081/

*逋サ蠖穂ソ。諱ッ<EFBFBD>?

  • 譛榊苅蝎ィ<EFBFBD>啻redcap-mysql`
  • 逕ィ謌キ蜷搾シ啻redcap_user`
  • <EFBFBD><EFBFBD><EFBFBD>シ夲シ井ク仕atabase.php荳ュ逧<EFBDAD><EFBFBD><EFBDAF>∽ク€閾エ<E996BE><EFBDB4>

鬪瑚ッ∵焚謐ョ蠎難シ<EFBFBD>

  • 笨?蜿ッ莉・逵句芦redcap謨ー謐ョ蠎?
  • 笨?譛?00+蠑<>陦ィ<E999A6>亥ヲredcap_config, redcap_user_information`遲会シ<E4BC9A>

<EFBFBD><EFBFBD><EFBFBD> 蟶ク隗<EFBDB8>琉鬚倅ク手ァ」蜀ウ譁ケ譯?

髣ョ鬚<EFBFBD>1<EFBFBD>哘RR_CONTENT_DECODING_FAILED

*邇ー雎。<EFBFBD>?

  • 豬剰ァ亥勣隶ソ髣ョREDCap譌カ謚・髞呻シ啻net::ERR_CONTENT_DECODING_FAILED 200 (OK)`
  • CSS/JS譁<53>サカ蜉<EFBDB6>霓ス螟ア雍・

*譬ケ譛ャ蜴溷屏<EFBFBD>? Apache逧Яmod_deflate讓。蝮嶺ク傘HP逧Яzlib.output_compression蜀イ遯<EFBFBD>シ悟ッシ閾エ謨ー謐ョ陲ォ驥榊、榊視郛ゥ縲?

*隗」蜀ウ譁ケ譯茨シ?

笨?*謌台サャ逧Дocker驟咲スョ蟾イ閾ェ蜉ィ菫ョ螟肴ュ、髣ョ鬚假シ?

  1. docker-entrypoint.sh閾ェ蜉ィ遖∫畑deflate讓。蝮暦シ?

    a2dismod -f deflate
    
  2. php.ini荳ュ蟾イ蜈ウ髣ュ蜴狗シゥ<EFBFBD>?

    zlib.output_compression = Off
    output_buffering = Off
    
  3. redcap.conf荳ュ豕ィ驥頑脂莠<EFBFBD>mod_deflate`驟咲スョ

*螯よ棡霑俶怏髣ョ鬚假シ?

# 霑帛<E99C91>螳ケ蝎ィ譽€譟?
docker exec redcap-apache bash -c "apache2ctl -M | grep deflate"
# 蠎碑ッ・豐。譛芽セ灘<EFBDBE>

# 驥榊星螳ケ蝎ィ
docker-compose restart redcap-web

髣ョ鬚<EFBFBD>2<EFBFBD>夂匳蠖募、ア雍?- 譌<>豕募刈霓ス蜩榊コ疲焚謐ョ

*邇ー雎。<EFBFBD>?

  • 霎灘<EFBFBD>逕ィ謌キ蜷榊ッ<EFBFBD><EFBFBD>∝錘<EFBFBD>碁。オ髱「荳崎キウ霓ャ
  • Network髱「譚ソ譏セ遉コPOST隸キ豎りソ泌屓200<EFBFBD>御ス<EFBFBD>"譌<>豕募刈霓ス蜩榊コ疲焚謐ョ"

*譬ケ譛ャ蜴溷屏<EFBFBD>? database.php<EFBFBD>サカ譛ォ蟆セ譛荏?>`PHP扈捺據譬<E6939A>ュセ蜥檎ゥコ陦鯉シ悟ッシ閾エCRLF謐「陦檎ャヲ豎。譟滴TTP蜩榊コ斐€?

*隗」蜀ウ譁ケ譯茨シ?

笨?*謌台サャ謠蝉セ帷噪database.php讓。譚ソ蟾イ菫ョ螟肴ュ、髣ョ鬚假シ?

  1. 笨?譁<>サカ譛ォ蟆セ豐。譛荏?>`
  2. 笨?譁<>サカ譛ォ蟆セ豐。譛臥ゥコ陦<EFBFBD>
  3. 笨?.gitattributes蠑コ蛻カPHP譁<EFBFBD>サカ菴ソ逕ィLF謐「陦檎ャ?

*螯よ棡閾ェ蟾ア蛻帛サコdatabase.php<68>?

<?php
// 謨ー謐ョ蠎馴<E8A08E>鄂?..

$hostname = 'redcap-mysql';
$db = 'redcap';
// ...

// 笶?髞呵ッッ蜀呎ウ包シ?
?>


// 笨?豁」遑ョ蜀呎ウ包シ壽枚莉カ譛ォ蟆セ蜿ェ譛画ウィ驥顔噪扈捺據隨ヲ<E99AA8>梧イ。譛<EFBDA1>?>

*鬪瑚ッ∵婿豕包シ?

# 譽€譟・譁<EFBDA5>サカ譛ォ蟆セ<E89F86>亥香蜈ュ霑帛宛<E5B89B>?
docker exec redcap-apache bash -c "tail -c 50 /var/www/html/redcap/database.php | xxd"

# 蠎碑ッ・逵句芦<E58FA5>?
# 00000030: 2a2f 0a    # */ 蜥梧困陦檎ャヲ<EFBDAC>梧イ。譛??> 蜥悟、壻ス咏噪0d0a

髣ョ鬚<EFBFBD>3<EFBFBD>咤ase URL驟咲スョ髞呵ッッ

*邇ー雎。<EFBFBD>?

*譬ケ譛ャ蜴溷屏<EFBFBD>? REDCap謨ー謐ョ蠎謎クュ逧Яredcap_base_url驟咲スョ荳拶pache逧ЯDocumentRoot荳榊源驟阪€?

*隗」蜀ウ譁ケ譯茨シ?

-- 霑樊磁蛻ーMySQL螳ケ蝎ィ
docker exec -it redcap-mysql mysql -uredcap_user -p'your_password' redcap

-- 譟・逵句ス灘燕驟咲スョ
SELECT field_name, value FROM redcap_config WHERE field_name = 'redcap_base_url';

-- 菫ョ豁」荳コ豁」遑ョ逧Вase URL
UPDATE redcap_config 
SET value = 'http://localhost:8080' 
WHERE field_name = 'redcap_base_url';

-- 逕滉コァ邇ッ蠅<EFBDAF>隼荳コ螳樣刔蝓溷錐
-- UPDATE redcap_config 
-- SET value = 'https://redcap.yourdomain.com' 
-- WHERE field_name = 'redcap_base_url';

*<EFBFBD>亟謗ェ譁ス<EFBFBD>?

  • 螳芽」<EFBFBD>慮遑ョ菫截ase URL荳手ョソ髣ョ蝨ー蝮€€閾?
  • 菫ョ謾ケ蜷朱㍾蜷ッ豬剰ァ亥勣謌匁ク<EFBFBD>勁郛灘ュ?

髣ョ鬚<EFBFBD>4<EFBFBD>壼ョケ蝎ィ蜷ッ蜉ィ螟ア雍?

蟶ク隗∝次蝗<EFBFBD>荳手ァ」蜀ウ譁ケ譯茨シ<EFBFBD>

*4.1 遶ッ蜿」陲ォ蜊<EFBDAB>逕?

# 譽€譟・遶ッ蜿」蜊<EFBDA3>逕?
netstat -ano | findstr ":8080"    # Windows
lsof -i :8080                     # Linux/Mac

# 隗」蜀ウ譁ケ譯<EFBDB9>1<EFBFBD>壻ソョ謾ケdocker-compose.yml遶ッ蜿」譏<EFBDA3><EFBFBD>
ports:
  - "8090:80"    # 謾ケ荳コ8090謌門<E8AC8C>莉也ォッ蜿?

# 隗」蜀ウ譁ケ譯<EFBDB9>2<EFBFBD>壼●豁「蜊<EFBDA2>逕ィ遶ッ蜿」逧<EFBDA3>ィ句コ<E58FA5>

*4.2 蜊キ謖りスス霍ッ蠕<EFBDAF>漠隸?

# 譽€譟・REDCap貅千<E8B285>∬キッ蠕<EFBDAF>弍蜷ヲ蟄伜惠
ls -la ../redcap15.8.0

# 螯よ棡霍ッ蠕<EFBDAF>漠隸ッ<E99AB8>御ソョ謾ケdocker-compose.yml
volumes:
  - /absolute/path/to/redcap15.8.0:/var/www/html/redcap:ro

*4.3 譚<>剞髣ョ鬚假シ<E58187>inux<75>?

# 扈吩コ<E590A9>ocker逶ョ蠖暮€ょス捺揀髯<E68F80>
sudo chown -R $(whoami):$(whoami) redcap-docker-dev/
chmod +x docker-entrypoint.sh

髣ョ鬚<EFBFBD>5<EFBFBD>哺ySQL霑樊磁螟ア雍・

*邇ー雎。<EFBFBD>?

  • REDCap譏セ遉コ"Database connection failed"
  • 譌・蠢嶺クュ譛窺ySQL霑樊磁髞呵ッッ

*謗呈衍豁・鬪、<EFBFBD>?

# 1. 譽€譟・MySQL螳ケ蝎ィ迥カ諤?
docker-compose ps redcap-mysql

# 2. 譟・逵貴ySQL譌・蠢<EFBDA5>
docker-compose logs redcap-mysql

# 3. 謇句勘豬玖ッ戊ソ樊磁
docker exec -it redcap-mysql mysql -uredcap_user -p'your_password'

# 4. 譽€譟・database.php荳ュ逧<EFBDAD><E980A7>鄂ョ
docker exec redcap-apache cat /var/www/html/redcap/database.php | grep hostname

*蟶ク隗<EFBFBD>漠隸ッ<EFBFBD>?

  • $hostname蜀呎<EFBFBD><EFBFBD>localhost<EFBFBD>亥コ碑ッ・譏ッredcap-mysql`<60>?
  • <EFBFBD><EFBFBD>∽ク榊源驟搾シ井ク餐.env謌冒docker-compose.yml荳堺ク€閾エ<EFBFBD><EFBFBD>
  • MySQL螳ケ蝎ィ譛ェ螳悟<EFBFBD>蜷ッ蜉ィ<EFBFBD>育ュ牙セ<EFBFBD>30遘貞<EFBFBD>隸包シ<EFBFBD>

<EFBFBD>売 荳榊酔邇ッ蠅<EFBDAF>噪驟咲スョ蟾ョ蠑?

譛ャ蝨ー蠑€蜿醍識蠅?

*迚ケ轤ケ<EFBFBD>?

  • 菴ソ逕ィDocker MySQL螳ケ蝎ィ
  • <EFBFBD>性phpMyAdmin
  • 遶ッ蜿」譏<EFBFBD><EFBFBD>芦localhost
  • €蜿題ー<EFBFBD>ッ墓ィ。蠑?

*€隕∽ソョ謾ケ逧<EFBFBD><EFBFBD>鄂ョ<EFBFBD>?

  1. docker-compose.yml<EFBFBD>壻スソ逕ィ鮟倩ョ、驟咲ス?
  2. database.php<EFBFBD>啻$hostname = 'redcap-mysql'`

髦ソ驥御コ薦CS逕滉コァ邇ッ蠅<EFBFBD>

*迚ケ轤ケ<EFBFBD>?

  • 菴ソ逕ィ髦ソ驥御コ然DS MySQL
  • 荳榊桁蜷ォphpMyAdmin<EFBFBD>亥ョ牙<EFBFBD><EFBFBD><EFBFBD>?
  • 菴ソ逕ィ蝓溷錐+SSL隸∽ケヲ
  • 逕滉コァ莨伜喧驟咲スョ

*€隕∽ソョ謾ケ逧<EFBFBD><EFBFBD>鄂ョ<EFBFBD>?

  1. *菴ソ逕ィdocker-compose.prod.yml<EFBFBD>?

    services:
      redcap-web:
        environment:
          REDCAP_BASE_URL: https://redcap.yourdomain.com
    
    # 遘サ髯、redcap-mysql蜥罫edcap-phpmyadmin譛榊苅
    
  2. *菫ョ謾ケdatabase.php<EFBFBD>?

    $hostname = 'rm-xxx.mysql.rds.aliyuncs.com';  // RDS蜀<53>ス大慍蝮€
    $db = 'redcap_prod';
    $username = 'redcap_admin';
    $password = 'your_strong_password_32_chars_min';  // 蠑コ蟇<EFBDBA><E89F87>?
    $salt = 'your_random_salt_never_change';          // 豌ク荳榊庄蜿<E5BA84>
    
    // 蜷ッ逕ィSSL霑樊磁<E6A88A>亥庄騾我ス<E68891>耳闕撰シ?
    $db_ssl_ca = '/path/to/rds-ca.pem';
    $db_ssl_verify_server_cert = true;
    
  3. *菫ョ謾ケredcap.conf<EFBFBD>?

    ServerName redcap.yourdomain.com
    
  4. *<EFBFBD>サコ蟷カ謗ィ騾<EFBFBD>復蜒丞芦ACR<EFBFBD>?

    # 逋サ蠖暮仭驥御コ大ョケ蝎ィ髟懷ワ譛榊<E8AD9B>?
    docker login --username=your_username registry.cn-hangzhou.aliyuncs.com
    
    # 譫<>サコ髟懷ワ
    docker build -f Dockerfile.redcap -t redcap-custom:15.8.0 .
    
    # 謇捺<E8AC87><E68DBA>ュ?
    docker tag redcap-custom:15.8.0 registry.cn-hangzhou.aliyuncs.com/your-namespace/redcap:15.8.0
    
    # 謗ィ騾?
    docker push registry.cn-hangzhou.aliyuncs.com/your-namespace/redcap:15.8.0
    
  5. 蝨ィECS荳企Κ鄂イ<EFBFBD><EFBFBD>

    # 諡牙叙髟懷ワ
    docker pull registry.cn-hangzhou.aliyuncs.com/your-namespace/redcap:15.8.0
    
    # 蜷ッ蜉ィ螳ケ蝎ィ
    docker-compose -f docker-compose.prod.yml up -d
    

蛹サ髯「遘∵怏蛹夜Κ鄂?

*迚ケ轤ケ<EFBFBD>?

  • <EFBFBD>ス醍識蠅<EFBFBD>シ梧裏螟也ス題ョソ髣ョ
  • 蜿ッ閭ス譌<EFBFBD>豕穂スソ逕ィDocker Hub
  • €隕∵焚謐ョ螳牙<EFBFBD>荳主粋隗<EFBFBD>
  • 蜿ッ閭ス髴€<EFBFBD>寔謌仙現髯「HIS邉サ扈<EFBFBD>

*驛ィ鄂イ豁・鬪、<EFBFBD>?

  1. *遖サ郤ソ蜃<EFBFBD>、⑤ocker髟懷ワ<EFBFBD>?

    # 蝨ィ譛臥ス醍サ懃噪邇ッ蠅<EFBDAF>ッシ蜃コ髟懷<E9AB9F>?
    docker save redcap-custom:15.8.0 mysql:8.0 phpmyadmin/phpmyadmin:latest > redcap-images.tar
    
    # 莨<>霎灘芦蛹サ髯「譛榊苅蝎ィ
    scp redcap-images.tar user@hospital-server:/tmp/
    
    # 蝨ィ蛹サ髯「譛榊苅蝎ィ蟇シ蜈・
    docker load < /tmp/redcap-images.tar
    
  2. 驟咲スョ蜀<EFBFBD>ス第焚謐ョ蠎難シ<EFBFBD>

    • 菴ソ逕ィ蛹サ髯「閾ェ蟾ア逧МySQL譛榊苅蝎?
    • 謌夜Κ鄂イ迢ャ遶狗噪MySQL螳ケ蝎ィ<EFBFBD>域焚謐ョ逶ョ蠖墓撃霓ス蛻ー蛹サ髯「蟄伜お<EFBFBD>?
  3. *謨ー謐ョ螳牙<EFBFBD>驟咲スョ<EFBFBD>?

    • 蜷ッ逕ィ謨ー謐ョ蠎鉄SL霑樊磁
    • 驟咲スョ螳壽悄螟<EFBFBD>サス
    • 譌・蠢怜ョ。隶。
    • 隨ヲ蜷医€頑焚謐ョ螳牙<EFBFBD>豕輔€句柱蛹サ逍苓。御ク夊ァ<EFBFBD>

<EFBFBD>搭 驛ィ鄂イ譽€譟・貂<EFBDA5><E8B282>?

驛ィ鄂イ蜑肴」€譟?

  • Docker蟾イ螳芽」<EFBFBD>ケカ霑占。鯉シ<EFBFBD>docker --version`<60>?
  • Docker Compose蟾イ螳芽」<E88ABD><EFBFBD>docker-compose --version`<60>?
  • REDCap貅千<EFBFBD>∝キイ荳玖スス蟷カ隗」蜴<EFBFBD>
  • 蟾イ螟榊宛謇€譛吋ocker驟咲スョ譁<EFBFBD>サカ
  • database.php蟾イ譬ケ謐ョ邇ッ蠅<EFBFBD>ソョ謾?
  • database.php譛ォ蟆セ**豐。譛荏?>`蜥檎ゥコ陦?*
  • .env<EFBFBD>サカ蟾イ蛻帛サコ<EFBFBD>亥ヲゆスソ逕ィ<EFBFBD><EFBFBD>
  • 遶ッ蜿」譌<EFBFBD>蜀イ遯<EFBFBD><EFBFBD>8080, 3306, 8081<38>?

驛ィ鄂イ蜷朱ェ瑚ッ?

  • 螳ケ蝎ィ蜈ィ驛ィ蜷ッ蜉ィ<EFBFBD><EFBFBD>docker-compose ps`<60>?
  • 蜿ッ莉・隶ソ髣ョREDCap鬥夜。オ<EFBFBD><EFBFBD>ttp://localhost:8080/<2F>?
  • 鬘オ髱「譬キ蠑乗ュ」蟶ク<EFBFBD>梧裏404髞呵ッッ
  • 蜿ッ莉・謌仙粥逋サ蠖<EFBFBD>
  • phpMyAdmin蜿ッ隶ソ髣ョ<EFBFBD><EFBFBD>ttp://localhost:8081/<2F>?
  • 謨ー謐ョ蠎楢。ィ蟾イ蛻帛サコ<EFBFBD><EFBFBD>100+蠑<>陦ィ<E999A6>?
  • 蜿ッ莉・蛻帛サコ鬘ケ逶ョ
  • 蜿ッ莉・蛻帛サコ陦ィ蜊<EFBFBD>
  • 謨ー謐ョ蜿ッ莉・豁」蟶ク菫晏ュ<EFBFBD>

逕滉コァ邇ッ蠅<EFBFBD>「晏、匁」€譟?

  • 菴ソ逕ィ蠑コ蟇<EFBFBD><EFBFBD><EFBFBD><EFBFBD>32+蟄礼ャヲ<EFBDAC>?
  • Salt蛟シ蟾イ隶セ鄂ョ荳泌、<EFBFBD>サ?
  • 菴ソ逕ィHTTPS + SSL隸∽ケヲ
  • 髦イ轣ォ蠅呵ァ<EFBFBD><EFBFBD>蟾イ驟咲スョ
  • 謨ー謐ョ蠎灘ョ壽悄螟<EFBFBD>サス蟾イ驟咲スョ
  • 譌・蠢礼尅謗ァ蟾イ驟咲ス?
  • 蝓溷錐DNS蟾イ隗」譫?
  • 驍ョ莉カ譛榊苅蟾イ驟咲スョ<EFBFBD>亥庄騾会シ<EFBFBD>

<EFBFBD><EFBFBD>?譌・蟶ク扈エ謚、蜻ス莉、

螳ケ蝎ィ邂。逅<EFBFBD>

# 蜷ッ蜉ィ譛榊苅
docker-compose up -d

# 蛛懈ュ「譛榊苅
docker-compose stop

# 驥榊星譛榊苅
docker-compose restart

# 蛛懈ュ「蟷カ蛻<EFBDB6>髯、螳ケ蝎ィ<E89D8E>域焚謐ョ菫晉蕗<E69989>?
docker-compose down

# 蛛懈ュ「蟷カ蛻<EFBDB6>髯、螳ケ蝎?謨ー謐ョ<E8AC90>亥些髯ゥ<E9ABAF><EFBDA9>シ?
docker-compose down -v

# 譟・逵区律蠢<E5BE8B>
docker-compose logs -f redcap-web
docker-compose logs -f redcap-mysql

# 霑帛<E99C91>螳ケ蝎ィ
docker exec -it redcap-apache bash
docker exec -it redcap-mysql bash

<EFBFBD>サス荳取△螟?

# 螟<>サス謨ー謐ョ蠎?
docker exec redcap-mysql mysqldump -uredcap_user -p'password' redcap > backup_$(date +%Y%m%d).sql

# 諱「螟肴焚謐ョ蠎?
docker exec -i redcap-mysql mysql -uredcap_user -p'password' redcap < backup_20260102.sql

# 螟<>サスedocs蜥荊emp逶ョ蠖<EFBDAE>
docker cp redcap-apache:/var/www/html/redcap/edocs ./backup_edocs
docker cp redcap-apache:/var/www/html/redcap/temp ./backup_temp

驥咲スョ邂。逅<EFBFBD>遭蟇<EFBFBD><EFBFBD>?

# 菴ソ逕ィ謌台サャ謠蝉セ帷噪閼壽<E996BC>?
docker cp scripts/create-redcap-password.php redcap-apache:/tmp/
docker exec redcap-apache php /tmp/create-redcap-password.php

# 譁ー蟇<EFBDB0><E89F87>∝ー<E2889D>仞遉コ蝨ィ霎灘<E99C8E>荳ュ

<EFBFBD>答 逶ク蜈ウ譁<EFBDB3>。」

  • 髣ョ鬚俶賜譟・隸ヲ隗」<EFBFBD>喙13-驛ィ鄂イ髣ョ鬚俶賜譟・謇句<E8AC87>.md](./13-驛ィ鄂イ髣ョ鬚俶賜譟・謇句<E8AC87>.md)
  • **API蠑€蜿?*<2A>喙../03-API蟇ケ謗・荳主シ€蜿?30-REDCap_API菴ソ逕ィ謖<EFBDA8>漉.md](../03-API蟇ケ謗・荳主シ€蜿?30-REDCap_API菴ソ逕ィ謖<EFBDA8>漉.md)
  • 邉サ扈滄<EFBFBD>鄂ョ<EFBFBD>喙../02-邉サ扈滄<E68988>鄂ョ荳手ソ千サ?20-REDCap邉サ扈滄<E68988>鄂ョ謇句<E8AC87>.md](../02-邉サ扈滄<E68988>鄂ョ荳手ソ千サ?20-REDCap邉サ扈滄<E68988>鄂ョ謇句<E8AC87>.md)
  • REDCap螳俶婿譁<EFBFBD>。」<EFBFBD>喇ttps://projectredcap.org/

笨?諤サ扈<EFBDBB>

謌台サャ謠蝉セ帷噪Docker驟咲スョ譁<EFBFBD>サカ扈剰ソ<EFBFBD>ョ樊<EFBFBD>鬪瑚ッ<EFBFBD>シ悟キイ隗」蜀ウ謇€譛牙クク隗<EFBFBD>琉鬚假シ<EFBFBD>

  1. 笨?Gzip蜴狗シゥ蜀イ遯<EFBFBD> 竊?閾ェ蜉ィ遖∫畑deflate讓。蝮<EFBDA1>
  2. 笨?CRLF豎。譟<EFBFBD> 竊?database.php譌<70>?><EFBFBD>?gitattributes隗<73>激謐「陦檎ャ?
  3. 笨?Base URL髞呵ッッ 竊?譁<>。」譏守。ョ隸エ譏朱<E8AD8F>鄂ョ譁ケ豕<EFBDB9>
  4. 笨?*霍ィ蟷ウ蜿ー蜈シ螳? 竊?Windows/Linux/Mac蝮<63>庄菴ソ逕ィ

蜿ッ螟咲畑諤ァ<EFBFBD><EFBFBD>

  • <EFBFBD>Dockerfile.redcap<EFBFBD>?00%蜿ッ螟咲畑<E592B2>梧裏髴€莉サ菴穂ソョ謾ケ
  • <EFBFBD>docker-entrypoint.sh<EFBFBD>?00%蜿ッ螟咲<E89E9F>?
  • <EFBFBD>php.ini<EFBFBD>?00%蜿ッ螟咲<E89E9F>?
  • <EFBFBD><EFBFBD><EFBFBD> docker-compose.yml<EFBFBD>夐怙譬ケ謐ョ邇ッ蠅<EFBFBD><EFBFBD>紛遶ッ蜿」蜥悟差霍ッ蠕<EFBFBD>
  • <EFBFBD><EFBFBD><EFBFBD> database.php<EFBFBD>壼ソ<EFBFBD>。サ譬ケ謐ョ邇ッ蠅<EFBFBD>ョ壼宛謨ー謐ョ蠎楢ソ樊磁菫。諱ッ

荳倶ク€豁・<EFBFBD><EFBFBD>

  • 螳梧<EFBFBD>譛ャ蝨ー邇ッ蠅<EFBFBD>ェ瑚ッ<EFBFBD>
  • €蜿然EDCap API Adapter
  • <EFBFBD><EFBFBD>函莠ァ邇ッ蠅<EFBFBD>Κ鄂イ

譛蛾琉鬚假シ<EFBFBD> 譟・逵<EFBDA5> 13-驛ィ鄂イ髣ョ鬚俶賜譟・謇句<E8AC87>.md 謌匁署Issue<75>?