govpf/mes-demarchesMes-Démarches.gov.pf是一个基于法国***"démarches-simplifiees.fr"项目的热带化版本,旨在满足法属波利尼西亚对行政手续100%数字化的迫切需求。该镜像是一个完整的Web应用解决方案,提供行政手续在线处理功能,帮助机构实现数字化转型。
yamlversion: '3.8' services: web: image: mes-demarches.gov.pf:latest restart: always ports: - "3000:3000" environment: - RAILS_ENV=production - DATABASE_URL=postgres://md:md@db:5432/mes_demarches - REDIS_URL=redis://redis:6379/0 - SECRET_KEY_BASE=your_secret_key_base - SMTP_HOST=smtp.example.com - SMTP_PORT=587 - SMTP_USERNAME=your_smtp_username - SMTP_PASSWORD=your_smtp_password depends_on: - db - redis - sidekiq volumes: - app_data:/app/public - app_logs:/app/log db: image: postgres:14 restart: always environment: - POSTGRES_USER=md - POSTGRES_PASSWORD=md - POSTGRES_DB=mes_demarches volumes: - postgres_data:/var/lib/postgresql/data redis: image: redis:alpine restart: always volumes: - redis_data:/data sidekiq: image: mes-demarches.gov.pf:latest restart: always command: bundle exec sidekiq environment: - RAILS_ENV=production - DATABASE_URL=postgres://md:md@db:5432/mes_demarches - REDIS_URL=redis://redis:6379/0 - SECRET_KEY_BASE=your_secret_key_base depends_on: - db - redis volumes: postgres_data: redis_data: app_data: app_logs:
bash# 启动数据库 docker run -d \ --name mes-demarches-db \ -e POSTGRES_USER=md \ -e POSTGRES_PASSWORD=md \ -e POSTGRES_DB=mes_demarches \ -v postgres_data:/var/lib/postgresql/data \ postgres:14 # 启动Redis docker run -d \ --name mes-demarches-redis \ -v redis_data:/data \ redis:alpine # 启动应用 docker run -d \ --name mes-demarches-app \ -p 3000:3000 \ -e RAILS_ENV=production \ -e DATABASE_URL=postgres://md:md@mes-demarches-db:5432/mes_demarches \ -e REDIS_URL=redis://mes-demarches-redis:6379/0 \ -e SECRET_KEY_BASE=your_secret_key_base \ --link mes-demarches-db:db \ --link mes-demarches-redis:redis \ mes-demarches.gov.pf:latest # 启动Sidekiq worker docker run -d \ --name mes-demarches-sidekiq \ -e RAILS_ENV=production \ -e DATABASE_URL=postgres://md:md@mes-demarches-db:5432/mes_demarches \ -e REDIS_URL=redis://mes-demarches-redis:6379/0 \ -e SECRET_KEY_BASE=your_secret_key_base \ --link mes-demarches-db:db \ --link mes-demarches-redis:redis \ mes-demarches.gov.pf:latest \ bundle exec sidekiq
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| RAILS_ENV | 运行环境 | development |
| DATABASE_URL | PostgreSQL数据库连接URL | postgres://md:md@localhost:5432/mes_demarches |
| REDIS_URL | Redis连接URL | redis://localhost:6379/0 |
| SECRET_KEY_BASE | Rails加密密钥 | 无,必须手动设置 |
| SMTP_HOST | SMTP服务器地址 | 无 |
| SMTP_PORT | SMTP服务器端口 | 587 |
| SMTP_USERNAME | SMTP认证用户名 | 无 |
| SMTP_PASSWORD | SMTP认证密码 | 无 |
| PROMETHEUS_EXPORTER_ENABLED | 是否启用Prometheus指标导出 | false |
| UPDATE_WEBDRIVER | 是否自动更新WebDriver | false |
| NO_HEADLESS | 是否禁用无头模式运行浏览器 | false |
| JS_LOG | JavaScript日志级别 | 无 |
| MAKE_IT_SLOW | 是否增加端到端测试延迟 | false |
为防止***图像利用,需配置ImageMagick安全策略。在生产环境中,建议添加以下策略:
xml<policymap> <policy domain="coder" rights="none" pattern="*"/> <policy domain="coder" rights="read | write" pattern="{JPG,JPEG,PNG,JSON}"/> <policy domain="module" rights="none" pattern="{MSL,MVG,PS,SVG,URL,XPS}"/> </policymap>
首次使用需要创建数据库用户和初始化数据库:
bash# 进入数据库容器 docker exec -it mes-demarches-db psql -U postgres # 在PostgreSQL终端执行 CREATE USER md WITH PASSWORD 'md' SUPERUSER; CREATE USER md_test WITH PASSWORD 'md_test' SUPERUSER; \q # 初始化数据库结构和种子数据 docker exec -it mes-demarches-app bin/setup
bashdocker-compose up -d
bashdocker-compose logs -f web
bashdocker exec -it mes-demarches-app bundle exec rails db:migrate
bashdocker exec -it mes-demarches-app bundle exec rake superadmin:create
bashdocker exec -it mes-demarches-app bundle exec rails jobs:schedule
bashdocker-compose pull docker-compose down docker-compose up -d
访问 http://localhost:3000/letter_opener 查看应用发送的邮件(仅开发环境)。
bash# 运行所有测试 docker exec -it mes-demarches-app bin/rspec # 运行特定测试文件 docker exec -it mes-demarches-app bin/rspec spec/path/to/file_spec.rb # 运行带浏览器界面的系统测试 docker exec -it mes-demarches-app NO_HEADLESS=1 bin/rspec spec/system
bashsudo apt-get install libcurl3 libcurl3-gnutls libcurl4-openssl-dev libcurl4-gnutls-dev zlib1g-dev postgresql imagemagick gsfonts redis-server
bash# 克隆代码仓库 git clone [***] cd mes-demarches # 初始化环境 bin/setup # 启动开发服务器 bin/dev
应用将运行在 http://localhost:3000,默认测试用户为 ***,密码为 this is a very complicated password !。
bash# 运行所有代码检查工具 docker exec -it mes-demarches-app bin/rake lint # 检查翻译状态 docker exec -it mes-demarches-app bundle exec i18n-tasks health
bin/rspecbin/rspec spec/file_path/file_name_spec.rbbin/rspec spec/file_path/file_name_spec.rb:line_numberbin/rspec --only-failuresJS_LOG=debug,log,error bin/rspec spec/systemMAKE_IT_SLOW=1 bin/rspec spec/system应用集成了多种性能监控工具:
PROMETHEUS_EXPORTER_ENABLED=true 启用Mes-Démarches基于AGPL开源许可证,是démarches-simplifiees.fr项目的衍生作品。Lightgallery组件需要相应的许可授权,开源项目使用可豁免许可费用。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务