ERRO Updating billionmail with update.sh e
root@server1:/opt/BillionMail# bash update.sh
+----------------------------------------------------------------------------- | You are updating BillionMail. This operation will pull the latest code from | GitHub's main branch and rebuild the containers. | | If you have made any modifications, please back them up first. | This operation may overwrite your changes. +-----------------------------------------------------------------------------
Are you sure want to update BillionMail. All containers will be stopped? (y/n): y Docker is running Checking for update.sh script... remote: Enumerating objects: 930, done. remote: Counting objects: 100% (699/699), done. remote: Compressing objects: 100% (159/159), done. remote: Total 930 (delta 572), reused 654 (delta 529), pack-reused 231 (from 1) Receiving objects: 100% (930/930), 568.32 KiB | 3.25 MiB/s, done. Resolving deltas: 100% (612/612), completed with 160 local objects. From https://github.com/aaPanel/BillionMail 60858b1..24b23dc main -> origin/main 12a54cc..661cab2 demo -> origin/demo 8b141f4..24b23dc dev -> origin/dev ba2d7f0..7a99fe2 dev-frontend -> origin/dev-frontend
- [new tag] v2.2 -> v2.2
- [new tag] v3.0 -> v3.0 Updated 0 paths from b29424f Stop BillionMail, please wait... ERROR: The Compose file './docker-compose.yml' is invalid because: 'name' does not match any of the regexes: '^x-'
You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the services key, or omit the version key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
🚀 Committing current changes...
🔍 Fetching remote updates...
🔄 Merging changes (strategy: theirs, options: patience)...
Merge made by the 'ort' strategy.
Dockerfiles/dovecot/supervisord.conf | 4 +-
Dockerfiles/postfix/supervisord.conf | 2 +-
README-zh_CN.md | 9 +-
README.md | 2 +-
bm.sh | 79 ++
core/api/batch_mail/batch_mail.go | 4 +
core/api/batch_mail/v1/api_mail.go | 93 +-
core/api/batch_mail/v1/batch_mail.go | 108 ++-
core/api/domains/domains.go | 1 +
core/api/domains/v1/ssl.go | 8 +
core/api/email_template/email_template.go | 1 +
core/api/email_template/v1/email_template.go | 20 +
core/api/settings/settings.go | 2 +
core/api/settings/v1/settings.go | 27 +-
core/frontend/build/config.ts | 4 +-
core/frontend/package.json | 1 +
core/frontend/pnpm-lock.yaml | 10 +
core/frontend/src/api/modules/api.ts | 69 ++
core/frontend/src/api/modules/market/task.ts | 28 +-
core/frontend/src/api/modules/market/template.ts | 11 +-
core/frontend/src/api/modules/settings/common.ts | 17 +
core/frontend/src/components/base/bt-time-range/index.vue | 78 ++
core/frontend/src/components/base/bt-time/index.vue | 88 ++
core/frontend/src/components/utils/confirm/interface.ts | 4 +-
core/frontend/src/components/utils/confirm/method.tsx | 5 +-
core/frontend/src/hooks/useDataTable.ts | 151 ++++
core/frontend/src/i18n/lang/en.json | 1636 ++++++++++++++++++-----------------
core/frontend/src/i18n/lang/zh.json | 1630 +++++++++++++++++-----------------
core/frontend/src/layout/components/Sidebar.vue | 1 +
core/frontend/src/router/modules/api.ts | 17 +
core/frontend/src/router/modules/market.ts | 6 +
core/frontend/src/utils/time.ts | 22 +-
core/frontend/src/views/api/components/ApiForm.vue | 174 ++++
core/frontend/src/views/api/components/ApiKey.vue | 32 +
core/frontend/src/views/api/components/ApiTest.vue | 64 ++
core/frontend/src/views/api/components/Overview.vue | 100 +++
core/frontend/src/views/api/index.vue | 273 ++++++
core/frontend/src/views/api/types/base.ts | 34 +
core/frontend/src/views/contacts/group/components/GroupAdd.vue | 4 +-
.../frontend/src/views/contacts/subscribers/components/SubscriberImport.vue | 20 +-
core/frontend/src/views/market/task/analytics.vue | 165 ++++
core/frontend/src/views/market/task/components/CreateGroup.vue | 40 +-
core/frontend/src/views/market/task/components/TaskStatusDetails.vue | 3 -
core/frontend/src/views/market/task/components/TemplateSelect.vue | 5 +
core/frontend/src/views/market/task/edit.vue | 11 +-
core/frontend/src/views/market/task/index.vue | 65 +-
core/frontend/src/views/market/task/interface.ts | 1 +
core/frontend/src/views/market/template/components/TemplateForm.vue | 2 +-
core/frontend/src/views/overview/components/ProviderTable.vue | 2 +-
core/frontend/src/views/overview/components/SendTodayStats.vue | 8 +-
core/frontend/src/views/settings/common/components/PortSettings.vue | 20 +-
core/frontend/src/views/settings/common/components/SSLSettings.vue | 43 +-
core/frontend/src/views/settings/common/components/TimezoneSettings.vue | 96 +-
core/frontend/src/views/settings/common/store/index.ts | 5 +
core/frontend/src/views/settings/common/types/base.ts | 1 +
core/frontend/types/components.d.ts | 2 +
core/frontend/uno.config.ts | 2 +
core/internal/cmd/cmd.go | 20 +
core/internal/consts/mail_providers.go | 12 +
core/internal/controller/batch_mail/batch_mail_v1_api_mail_send.go | 310 ++++++-
core/internal/controller/batch_mail/batch_mail_v1_api_overview_stats.go | 104 +++
core/internal/controller/batch_mail/batch_mail_v1_api_templates_create.go | 80 +-
core/internal/controller/batch_mail/batch_mail_v1_api_templates_delete.go | 12 +-
core/internal/controller/batch_mail/batch_mail_v1_api_templates_list.go | 117 ++-
core/internal/controller/batch_mail/batch_mail_v1_api_templates_update.go | 93 +-
core/internal/controller/batch_mail/batch_mail_v1_create_task.go | 2 +-
core/internal/controller/batch_mail/batch_mail_v1_list_tasks.go | 123 ++-
core/internal/controller/batch_mail/batch_mail_v1_task_info.go | 33 +
core/internal/controller/batch_mail/batch_mail_v1_task_overview.go | 72 ++
core/internal/controller/batch_mail/batch_mail_v1_task_stat_chart.go | 42 +
core/internal/controller/dockerapi/dockerapi_v1_list_container.go | 8 +-
core/internal/controller/domains/domains_v1_add_domain.go | 18 +
core/internal/controller/domains/domains_v1_console_apply_cert.go | 22 +
.../controller/email_template/email_template_v1_check_email_content.go | 138 +++
core/internal/controller/mail_boxes/mail_boxes_v1_get_mailbox.go | 2 +-
core/internal/controller/middleware/ip_whitelist.go | 117 +++
core/internal/controller/relay/relay.go | 32 -
core/internal/controller/settings/settings.go | 45 +-
core/internal/controller/settings/settings_v1_get_system_config.go | 21 +-
core/internal/controller/settings/settings_v1_get_time_zone_list.go | 76 ++
core/internal/controller/settings/settings_v1_set_ip_whitelist.go | 88 ++
core/internal/controller/settings/settings_v1_set_system_config.go | 2 +-
core/internal/controller/settings/settings_v1_set_system_config_key.go | 19 +-
core/internal/model/entity/batch_mail.go | 28 +-
core/internal/model/entity/sender_ip_warmup_models.go | 34 +
core/internal/service/batch_mail/api_mail_send.go | 375 ++++++++
core/internal/service/batch_mail/batch_mail.go | 120 ++-
core/internal/service/batch_mail/simple_rate_controller.go | 2 +-
core/internal/service/batch_mail/stat_service.go | 444 ++++++++++
core/internal/service/batch_mail/task_executor.go | 195 +++++
core/internal/service/collect/collect.go | 6 +-
core/internal/service/database_initialization/batch_mail.go | 51 +-
core/internal/service/database_initialization/mail_serv.go | 9 +
core/internal/service/database_initialization/sender_ip_warmup.go | 56 ++
core/internal/service/database_initialization/utils.go | 34 +
core/internal/service/domains/baseurl.go | 15 +-
core/internal/service/domains/dns.go | 61 +-
core/internal/service/domains/domains.go | 30 +-
core/internal/service/domains/ssl.go | 226 ++++-
core/internal/service/fail2ban/access_log_detection.go | 63 ++
core/internal/service/mail_boxes/mail_boxes.go | 9 +-
core/internal/service/mail_service/certificate.go | 4 +-
core/internal/service/mail_service/fix.go | 267 ++++++
core/internal/service/mail_service/sending.go | 9 +-
core/internal/service/maillog_stat/maillog_stat.go | 45 +-
core/internal/service/public/common.go | 87 +-
core/internal/service/public/mail_stat_helpers.go | 46 +
core/internal/service/rbac/jwt.go | 2 +-
core/internal/service/rspamd/worker_controller.go | 2 +-
core/internal/service/timers/timers.go | 45 +-
core/internal/service/warmup/rate_limiter.go | 206 +++++
core/internal/service/warmup/sender_ip_mail_provider.go | 380 ++++++++
core/internal/service/warmup/sender_ip_warmup.go | 517 +++++++++++
core/internal/service/warmup/warmup_daily_upstairs.go | 89 ++
core/internal/service/warmup/warmup_with_campaigns.go | 168 ++++
core/languages/all/en.json | 1 +
core/languages/all/ja.json | 255 ++++++
core/languages/all/zh.json | 255 ++++++
core/languages/en/server.json | 438 +++++-----
core/languages/ja/server.json | 440 +++++-----
core/languages/settings.json | 42 +-
core/languages/zh/server.json | 438 +++++-----
core/manifest/config/config.yaml | 4 +-
core/public/dist/index.html | 2 +-
core/public/dist/static/css/async/{9490.15727e64.css => 2076.08667584.css} | 2 +-
core/public/dist/static/css/async/2614.8d3388a7.css | 1 -
core/public/dist/static/css/async/3547.d8fd2f0b.css | 1 +
core/public/dist/static/css/async/3583.9e1dd341.css | 1 -
core/public/dist/static/css/async/3990.eed6a12e.css | 1 +
core/public/dist/static/css/async/45.cad35dd3.css | 1 +
core/public/dist/static/css/async/{4774.77ea2689.css => 4536.67f335ae.css} | 2 +-
core/public/dist/static/css/async/5436.1742fcff.css | 1 +
core/public/dist/static/css/async/{8649.fd2f892d.css => 5621.fd2f892d.css} | 0
core/public/dist/static/css/async/{6204.f659b7dc.css => 8013.f659b7dc.css} | 0
core/public/dist/static/css/async/8275.0fc96432.css | 1 +
core/public/dist/static/css/async/{9665.d9ef7c35.css => 8642.d9ef7c35.css} | 0
core/public/dist/static/css/async/9532.e08a9ca9.css | 1 -
core/public/dist/static/css/index.d12a1032.css | 1 +
core/public/dist/static/css/index.d197f155.css | 1 -
core/public/dist/static/js/async/{1245.00eefcd7.js => 1245.c5729a5d.js} | 8 +-
core/public/dist/static/js/async/{156.e71e5560.js => 156.4ccaa390.js} | 4 +-
.../js/async/{156.e71e5560.js.LICENSE.txt => 156.4ccaa390.js.LICENSE.txt} | 0
core/public/dist/static/js/async/2076.c76eb567.js | 4 +
core/public/dist/static/js/async/2614.f371e779.js | 1 -
core/public/dist/static/js/async/{6373.8b158fe7.js => 3354.af31be73.js} | 12 +-
core/public/dist/static/js/async/3547.3c9e567f.js | 1 +
core/public/dist/static/js/async/3583.33ec4303.js | 1 -
core/public/dist/static/js/async/3703.774b6e9f.js | 1 +
core/public/dist/static/js/async/371.d96f062a.js | 1 +
core/public/dist/static/js/async/3990.08d9f40b.js | 58 ++
core/public/dist/static/js/async/45.a4cc971a.js | 4 +
core/public/dist/static/js/async/4536.1c2ac882.js | 4 +
core/public/dist/static/js/async/4774.d8a9014d.js | 4 -
core/public/dist/static/js/async/5436.86c2f72e.js | 1 +
core/public/dist/static/js/async/{8649.f27ccab2.js => 5621.34a18da4.js} | 4 +-
core/public/dist/static/js/async/{5668.be0f81c4.js => 5668.cca3e279.js} | 2 +-
core/public/dist/static/js/async/579.573b6199.js | 117 +++
core/public/dist/static/js/async/579.5fffa6f6.js | 117 ---
core/public/dist/static/js/async/{6194.9d546878.js => 6194.33ecbd1c.js} | 4 +-
core/public/dist/static/js/async/6204.5bdfd212.js | 1 -
core/public/dist/static/js/async/6235.edad05e0.js | 102 +++
core/public/dist/static/js/async/{6366.bd9a8cb4.js => 6366.11e68ac4.js} | 4 +-
core/public/dist/static/js/async/{6803.3809daf1.js => 6803.12301c63.js} | 2 +-
core/public/dist/static/js/async/8013.81869de4.js | 1 +
core/public/dist/static/js/async/8275.2a254d10.js | 1 +
core/public/dist/static/js/async/8559.2e5227e4.js | 74 ++
core/public/dist/static/js/async/8559.354b19b1.js | 74 --
core/public/dist/static/js/async/8642.229a5c24.js | 1 +
core/public/dist/static/js/async/9490.31724ef4.js | 4 -
core/public/dist/static/js/async/9532.465225b9.js | 1 -
core/public/dist/static/js/async/{9602.03559ada.js => 9602.b4037dad.js} | 6 +-
core/public/dist/static/js/async/9665.a73193d0.js | 1 -
core/public/dist/static/js/index.19f48a58.js | 1 +
core/public/dist/static/js/index.adbbaf18.js | 1 -
core/run_dev.go | 10 +-
core/run_dev.sh | 2 +-
docker-compose.yml | 6 +-
install.sh | 3 +-
178 files changed, 10137 insertions(+), 2938 deletions(-)
create mode 100644 core/frontend/src/api/modules/api.ts
create mode 100644 core/frontend/src/components/base/bt-time-range/index.vue
create mode 100644 core/frontend/src/components/base/bt-time/index.vue
create mode 100644 core/frontend/src/hooks/useDataTable.ts
create mode 100644 core/frontend/src/router/modules/api.ts
create mode 100644 core/frontend/src/views/api/components/ApiForm.vue
create mode 100644 core/frontend/src/views/api/components/ApiKey.vue
create mode 100644 core/frontend/src/views/api/components/ApiTest.vue
create mode 100644 core/frontend/src/views/api/components/Overview.vue
create mode 100644 core/frontend/src/views/api/index.vue
create mode 100644 core/frontend/src/views/api/types/base.ts
create mode 100644 core/frontend/src/views/market/task/analytics.vue
create mode 100644 core/internal/consts/mail_providers.go
create mode 100644 core/internal/controller/batch_mail/batch_mail_v1_api_overview_stats.go
create mode 100644 core/internal/controller/batch_mail/batch_mail_v1_task_info.go
create mode 100644 core/internal/controller/batch_mail/batch_mail_v1_task_overview.go
create mode 100644 core/internal/controller/batch_mail/batch_mail_v1_task_stat_chart.go
create mode 100644 core/internal/controller/domains/domains_v1_console_apply_cert.go
create mode 100644 core/internal/controller/email_template/email_template_v1_check_email_content.go
create mode 100644 core/internal/controller/middleware/ip_whitelist.go
create mode 100644 core/internal/controller/settings/settings_v1_get_time_zone_list.go
create mode 100644 core/internal/controller/settings/settings_v1_set_ip_whitelist.go
create mode 100644 core/internal/model/entity/sender_ip_warmup_models.go
create mode 100644 core/internal/service/batch_mail/api_mail_send.go
create mode 100644 core/internal/service/batch_mail/stat_service.go
create mode 100644 core/internal/service/database_initialization/sender_ip_warmup.go
create mode 100644 core/internal/service/database_initialization/utils.go
create mode 100644 core/internal/service/fail2ban/access_log_detection.go
create mode 100644 core/internal/service/mail_service/fix.go
create mode 100644 core/internal/service/public/mail_stat_helpers.go
create mode 100644 core/internal/service/warmup/rate_limiter.go
create mode 100644 core/internal/service/warmup/sender_ip_mail_provider.go
create mode 100644 core/internal/service/warmup/sender_ip_warmup.go
create mode 100644 core/internal/service/warmup/warmup_daily_upstairs.go
create mode 100644 core/internal/service/warmup/warmup_with_campaigns.go
create mode 100644 core/languages/all/en.json
create mode 100644 core/languages/all/ja.json
create mode 100644 core/languages/all/zh.json
rename core/public/dist/static/css/async/{9490.15727e64.css => 2076.08667584.css} (92%)
delete mode 100644 core/public/dist/static/css/async/2614.8d3388a7.css
create mode 100644 core/public/dist/static/css/async/3547.d8fd2f0b.css
delete mode 100644 core/public/dist/static/css/async/3583.9e1dd341.css
create mode 100644 core/public/dist/static/css/async/3990.eed6a12e.css
create mode 100644 core/public/dist/static/css/async/45.cad35dd3.css
rename core/public/dist/static/css/async/{4774.77ea2689.css => 4536.67f335ae.css} (92%)
create mode 100644 core/public/dist/static/css/async/5436.1742fcff.css
rename core/public/dist/static/css/async/{8649.fd2f892d.css => 5621.fd2f892d.css} (100%)
rename core/public/dist/static/css/async/{6204.f659b7dc.css => 8013.f659b7dc.css} (100%)
create mode 100644 core/public/dist/static/css/async/8275.0fc96432.css
rename core/public/dist/static/css/async/{9665.d9ef7c35.css => 8642.d9ef7c35.css} (100%)
delete mode 100644 core/public/dist/static/css/async/9532.e08a9ca9.css
create mode 100644 core/public/dist/static/css/index.d12a1032.css
delete mode 100644 core/public/dist/static/css/index.d197f155.css
rename core/public/dist/static/js/async/{1245.00eefcd7.js => 1245.c5729a5d.js} (66%)
rename core/public/dist/static/js/async/{156.e71e5560.js => 156.4ccaa390.js} (99%)
rename core/public/dist/static/js/async/{156.e71e5560.js.LICENSE.txt => 156.4ccaa390.js.LICENSE.txt} (100%)
create mode 100644 core/public/dist/static/js/async/2076.c76eb567.js
delete mode 100644 core/public/dist/static/js/async/2614.f371e779.js
rename core/public/dist/static/js/async/{6373.8b158fe7.js => 3354.af31be73.js} (88%)
create mode 100644 core/public/dist/static/js/async/3547.3c9e567f.js
delete mode 100644 core/public/dist/static/js/async/3583.33ec4303.js
create mode 100644 core/public/dist/static/js/async/3703.774b6e9f.js
create mode 100644 core/public/dist/static/js/async/371.d96f062a.js
create mode 100644 core/public/dist/static/js/async/3990.08d9f40b.js
create mode 100644 core/public/dist/static/js/async/45.a4cc971a.js
create mode 100644 core/public/dist/static/js/async/4536.1c2ac882.js
delete mode 100644 core/public/dist/static/js/async/4774.d8a9014d.js
create mode 100644 core/public/dist/static/js/async/5436.86c2f72e.js
rename core/public/dist/static/js/async/{8649.f27ccab2.js => 5621.34a18da4.js} (83%)
rename core/public/dist/static/js/async/{5668.be0f81c4.js => 5668.cca3e279.js} (51%)
create mode 100644 core/public/dist/static/js/async/579.573b6199.js
delete mode 100644 core/public/dist/static/js/async/579.5fffa6f6.js
rename core/public/dist/static/js/async/{6194.9d546878.js => 6194.33ecbd1c.js} (97%)
delete mode 100644 core/public/dist/static/js/async/6204.5bdfd212.js
create mode 100644 core/public/dist/static/js/async/6235.edad05e0.js
rename core/public/dist/static/js/async/{6366.bd9a8cb4.js => 6366.11e68ac4.js} (53%)
rename core/public/dist/static/js/async/{6803.3809daf1.js => 6803.12301c63.js} (97%)
create mode 100644 core/public/dist/static/js/async/8013.81869de4.js
create mode 100644 core/public/dist/static/js/async/8275.2a254d10.js
create mode 100644 core/public/dist/static/js/async/8559.2e5227e4.js
delete mode 100644 core/public/dist/static/js/async/8559.354b19b1.js
create mode 100644 core/public/dist/static/js/async/8642.229a5c24.js
delete mode 100644 core/public/dist/static/js/async/9490.31724ef4.js
delete mode 100644 core/public/dist/static/js/async/9532.465225b9.js
rename core/public/dist/static/js/async/{9602.03559ada.js => 9602.b4037dad.js} (89%)
delete mode 100644 core/public/dist/static/js/async/9665.a73193d0.js
create mode 100644 core/public/dist/static/js/index.19f48a58.js
delete mode 100644 core/public/dist/static/js/index.adbbaf18.js
✅ Code update completed successfully.
Getting the latest image, please wait...
ERROR: The Compose file './docker-compose.yml' is invalid because:
'name' does not match any of the regexes: '^x-'
You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the services key, or omit the version key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
Starting BillionMail, please wait...
ERROR: The Compose file './docker-compose.yml' is invalid because:
'name' does not match any of the regexes: '^x-'
You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the services key, or omit the version key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
⚠️ Update completed, please check container status. If startup failed, check container logs.
root@server1:/opt/BillionMail# docker version Client: Version: 20.10.24+dfsg1 API version: 1.41 Go version: go1.19.8 Git commit: 297e128 Built: Fri Apr 18 15:01:23 2025 OS/Arch: linux/amd64 Context: default Experimental: true
Server: Engine: Version: 20.10.24+dfsg1 API version: 1.41 (minimum version 1.12) Go version: go1.19.8 Git commit: 5d6db84 Built: Fri Apr 18 15:01:23 2025 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.6.20~ds1 GitCommit: 1.6.20~ds1-1+deb12u1 runc: Version: 1.1.5+ds1 GitCommit: 1.1.5+ds1-1+deb12u1 docker-init: Version: 0.19.0 GitCommit:
I have the following files in the directory root@server1:/opt/BillionMail# ls backup data env_init postfix-data redis-data webmail-data billionmail.conf DBPASS_file.pl init.sql postgresql-data rspamd-data bm.sh docker-compose.yml install.sh postgresql-socket ssl conf Dockerfiles LICENSE README-ja.md ssl-self-signed core env_2025_06_09_08_42_14 logs README.md update.sh core-data env_2025_06_09_13_45_32 php-sock README-zh_CN.md vmail-data
What is the docker compose version? What is the operating system? Requires docker compose greater than 2 versions
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)" NAME="Debian GNU/Linux" VERSION_ID="12" VERSION="12 (bookworm)" VERSION_CODENAME=bookworm ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"
docker version Docker version 20.10.24+dfsg1, build 297e128
docker compose version Docker Compose version v2.36.2