This commit is contained in:
ddadmin 2025-10-20 22:03:52 +03:00
parent 42e8dd2c51
commit d741ad43c9
16 changed files with 278 additions and 70 deletions

7
.env
View File

@ -2,10 +2,11 @@ COMPOSE_PROJECT_NAME=testb
NETWORK=testb
FRONT_TAG=develop
DOTDOT_TAG=DD-3615-STORY
LMS_TAG=DD-3615-STORY
DOTDOT_TAG=DD-4185
LMS_TAG=DD-4185-STORY
ADMIN_TAG=master
CABINET_TAG=master
CABINET_TAG=DDB-1925
LANDINGTTL_TAG=master
MYSQL_PORT=0.0.0.0:33062
MYSQL_ROOT_PASSWORD=root

10
app.sh
View File

@ -1,8 +1,8 @@
DIRECTORY=`dirname $0`
MYSQL_ROOT_PASSWORD=$(grep MYSQL_ROOT_PASSWORD $DIRECTORY"/.env" | xargs)
MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD#*=}
#MYSQL_ROOT_PASSWORD=$(grep MYSQL_ROOT_PASSWORD $DIRECTORY"/.env" | xargs)
#MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD#*=}
source $DIRECTORY"/.env"
help() {
echo "run $0 [COMMAND] "
echo '
@ -48,7 +48,7 @@ log() {
## restore last backup from s3 storage
restoredb() {
log "run restore database"
sudo rclone copy --verbose selectel:backup_db/dot/dot.$(date +%a).sql.gz backups/
sudo rclone copy --verbose selectel:backup_db/dot/prod/dot.$(date +%a).sql.gz backups/
zcat backups/dot.$(date +%a).sql.gz | docker compose exec -T db mysql -uroot -p${MYSQL_ROOT_PASSWORD} dot
}
@ -169,7 +169,7 @@ case "$1" in
"front"*)
case $2 in
*)
docker compose exec nuxt ${@:2};;
docker compose exec landing-ttl ${@:2};;
esac;;
*)
help

View File

@ -0,0 +1,16 @@
{
"token_hmac_secret_key": "6085d43b-f55b-4387-9dff-3c9abf385dc8",
"admin_password": "bc24acd1-b885-4108-b3cf-971dffca6934",
"admin_secret": "ca0a7656-f589-42e6-9e49-98dd3c5beb46",
"api_key": "aa7443fb-e623-4363-91ac-ef25908b1403",
"admin": true,
"allowed_origins": [
"http://dot-dot.local",
"https://dot-dot.ru",
"https://lms.dot-dot.ru",
"https://demo.dot-dot.ru",
"https://demo.spottorg.ru"
],
"allow_subscribe_for_client": true,
"allow_user_limited_channels": true
}

View File

@ -8,8 +8,8 @@ server {
listen 443 ssl ;
server_name testbadmin.dot-dot.ru;
ssl_certificate /etc/nginx/ssl/dot2024.crt;
ssl_certificate_key /etc/nginx/ssl/dot2024.key;
ssl_certificate /etc/nginx/ssl/dot-dot.crt;
ssl_certificate_key /etc/nginx/ssl/dot-dot.key;
client_max_body_size 10m;

View File

@ -1,12 +1,14 @@
server {
listen 443 ssl ;
server_name testacabinet.dot-dot.ru;
server_name testbcabinet.dot-dot.ru;
ssl_certificate /etc/nginx/ssl/dot2024.crt;
ssl_certificate_key /etc/nginx/ssl/dot2024.key;
ssl_certificate /etc/nginx/ssl/dot-dot.crt;
ssl_certificate_key /etc/nginx/ssl/dot-dot.key;
client_max_body_size 10m;
root /application/public;
location / {
proxy_pass http://cabinet:3000;
proxy_http_version 1.1;
@ -18,4 +20,95 @@ server {
proxy_buffering off;
proxy_cache off;
}
location /socket.io/auctionreload {
access_log /var/log/nginx/ws_access.log json;
error_log /var/log/nginx/ws_error.log;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_pass http://php:8080/;
}
location @rewriteapp {
rewrite ^(.*)$ /index.php/$1 last;
}
location /logout {
try_files $uri @rewriteapp;
}
location /api {
rewrite ^(.*)$ /index.php/$1 last;
}
location /clockwork {
rewrite ^(.*)$ /index.php/$1 last;
}
location /__clockwork {
rewrite ^(.*)$ /index.php/$1 last;
}
location /pdf {
rewrite ^(.*)$ /index.php/$1 last;
}
location /1c {
rewrite ^(.*)$ /index.php/$1 last;
}
location /socket {
try_files $uri @rewriteapp;
}
location /admin {
try_files $uri @rewriteapp;
}
location ~* \/admin\/.*(js|jpg|png|css|woff|woff2)$ {
proxy_pass http://static;
}
location /media {
try_files $uri @rewriteapp;
}
location /img {
proxy_pass http://static;
# alias /application/public/img;
# try_files $uri /index.php$request_uri;
# expires 6M;
}
location /robots.txt {
proxy_pass http://static;
}
location ~ ^/index\.php(/|$) {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Expeditor-Domain,Authorization';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header 'Content-Length' 0;
return 204;
}
#add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Origin' *;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Expeditor-Domain,Authorization';
fastcgi_pass backend:9001;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

View File

@ -8,8 +8,8 @@ server {
listen 443 ssl ;
server_name testb.dot-dot.ru;
ssl_certificate /etc/nginx/ssl/dot2024.crt;
ssl_certificate_key /etc/nginx/ssl/dot2024.key;
ssl_certificate /etc/nginx/ssl/dot-dot.crt;
ssl_certificate_key /etc/nginx/ssl/dot-dot.key;
root /application/public;
@ -18,7 +18,7 @@ server {
client_body_buffer_size 30M;
location / {
proxy_pass http://nuxt:3000;
proxy_pass http://landing-ttl;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
@ -41,10 +41,6 @@ server {
rewrite ^(.*)$ /index.php/$1 last;
}
# location /storybook {
# alias /application/nuxt/storybook-static;
# }
location /logout {
try_files $uri @rewriteapp;
}

View File

@ -8,8 +8,8 @@ server {
listen 443 ssl;
server_name testblms.dot-dot.ru;
ssl_certificate /etc/nginx/ssl/dot2024.crt;
ssl_certificate_key /etc/nginx/ssl/dot2024.key;
ssl_certificate /etc/nginx/ssl/dot-dot.crt;
ssl_certificate_key /etc/nginx/ssl/dot-dot.key;
root /application/public;
@ -43,9 +43,7 @@ server {
rewrite ^(.*)$ /index.php/$1 last;
}
# location /storybook {
# alias /application/nuxt/storybook-static;
# }
location /logout {
try_files $uri @rewriteapp;

View File

@ -11,8 +11,8 @@ server {
access_log /var/log/nginx/rabbitmqtestb.dot-dot.ru_access.log json;
error_log /var/log/nginx/rabbitmqtestb.dot-dot.ru_error.log;
ssl_certificate /etc/nginx/ssl/dot2024.crt;
ssl_certificate_key /etc/nginx/ssl/dot2024.key;
ssl_certificate /etc/nginx/ssl/dot-dot.crt;
ssl_certificate_key /etc/nginx/ssl/dot-dot.key;
proxy_buffer_size 128k;
proxy_buffers 4 128k;

View File

@ -0,0 +1,44 @@
server {
listen 80;
server_name testbws.dot-dot.ru;
return 301 https://$server_name$request_uri;
}
upstream centrifugo {
server centrifugo:8000;
}
server {
listen 443 ssl;
server_name testbws.dot-dot.ru;
access_log /var/log/nginx/testbws.dot-dot.ru_access.log json;
error_log /var/log/nginx/testbws.dot-dot.ru_error.log;
ssl_certificate /etc/nginx/ssl/dot-dot.crt;
ssl_certificate_key /etc/nginx/ssl/dot-dot.key;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://centrifugo;
}
location /socket {
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_pass http://centrifugo;
}
location /connection {
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_pass http://centrifugo;
}
}

View File

@ -1,13 +0,0 @@
NUXT_HOST=0.0.0.0
NUXT_PORT=3000
NUXT_ENV_DEVALUE_LOG_LEVEL=silent
WS_PROTOCOL=wss
BASE_URL=testb.dot-dot.ru
API_URL=https://testb.dot-dot.ru/
DOMAIN=testb.dot-dot.ru
APP_HOST=testb.dot-dot.ru
APP_SCHEME=https
APP_ENVIRONMENT=production
DADATA_API_TOKEN=c9aa5fdc338a746e23ce91ceb6fdb9e635749833
YANDEX_METRIKA_ID=50156956

View File

@ -1,10 +0,0 @@
#!/bin/sh
DOMAIN="${DOMAIN:-dot-dot.ru}"
for x in $(grep -lrw "dot-dot.ru" .nuxt/);do
echo "replace dot-dot.ru to https://${DOMAIN} in $x"
sed -i -e "s/dot-dot.ru/${DOMAIN}/g" $x;
done
"$@"

View File

@ -139,6 +139,28 @@ PROSTOR_SMS_END_POINT_URL=http://api.prostor-sms.ru
PROSTOR_SMS_LOGIN=secret
PROSTOR_SMS_PASSWORD=secret
ACCOUNTING_AUDIT_URL=https://crm.dot-dot.ru
ACCOUNTING_AUDIT_URL=https://1c.dot-dot.ru
ACCOUNTING_AUDIT_LOGIN=secret
ACCOUNTING_AUDIT_PASSWORD=secret
APP_LMS_HOST=testblms.dot-dot.ru
APP_CARGO_CARRIER_HOST=testbcabinet.dot-dot.ru
QUEUE_DSN_AUCTION_CARRIER_VERIFICATION=amqp://ddadmin:Utahth9aeshahgh3saik@rabbitmq:5672/%2f/AUCTION_CARRIER_VERIFICATION
###DD-3816###
###> KONTUR_DIADOC###
API_KONTUR_DIADOC_END_POINT_URL=https://diadoc-api.kontur.ru
API_KONTUR_DIADOC_API_TOKEN=API-3701ccdb-7bdf-4f29-bbe0-3a0278eee913
API_KONTUR_DIADOC_LOGIN=LOGIN
API_KONTUR_DIADOC_PASSWORD=PASSWORD
API_KONTUR_DIADOC_SELF_BOX_ID='322d597d-964d-48a8-baa5-2380161826f8'
###< KONTUR_DIADOC###
###> KONTUR_DIADOC###
SIGNER_DOCS_API_URL=https://testcsigner.dot-dot.ru
SIGNER_DOCS_API_TOKEN=secret
SIGNER_URL=https://testcsigner.dot-dot.ru
SIGNER_API_TOKEN='siofdhgt2349875t3iqhf1h2g*^&^%&^GHJGJCxgf'
###< KONTUR_DIADOC###

View File

@ -1,5 +1,5 @@
CONTAINER_NAME=php
APP_ENV=prod
APP_ENV=dev
NotificationBuildServicejSP_KEY=16e93b225c730920ac5741a8d8df788f
DADATA_API_TOKEN=c9aa5fdc338a746e23ce91ceb6fdb9e635749833
@ -141,6 +141,7 @@ ML_REGULAR_DIRECTION_HISTORY_ORDER_URL=https://ml.dot-dot.ru/v1/schedule/transpo
QUEUE_DSN_OC_CARRIER_OFFERS=amqp://ddadmin:Utahth9aeshahgh3saik@rabbitmq:5672/%2f/OC_CARRIER_OFFERS
QUEUE_DSN_STATISTIC_EXPORT=amqp://ddadmin:Utahth9aeshahgh3saik@rabbitmq:5672/%2f/STATISTIC_EXPORT
QUEUE_DSN_RELEVANT_CARRIER_EXPORT=amqp://ddadmin:Utahth9aeshahgh3saik@rabbitmq:5672/%2f/RELEVANT_CARRIER_EXPORT
QUEUE_DSN_SYNC_AUCTIONS=amqp://ddadmin:Utahth9aeshahgh3saik@rabbitmq:5672/%2f/SYNC_AUCTIONS
CRYPTOPRO_PATH='/opt/cprocsp/bin/amd64/cryptcp -sign -dn '"ООО ""ТОЧКА-ТОЧКА ЛОГИСТИКА"""' -der'
SIGNED_DOC_PATH="/application/var/documents/signeddocs"
@ -175,3 +176,47 @@ QUEUE_DSN_RELEVANT_CARRIER_EXPORT=amqp://ddadmin:Utahth9aeshahgh3saik@rabbitmq:5
###DD-3705###
PLATFORM_NAME=СПОТТОРГ
APP_LMS_HOST=testblms.dot-dot.ru
APP_CARGO_CARRIER_HOST=testbcabinet.dot-dot.ru
###> KONTUR_DIADOC###
SIGNER_DOCS_API_URL=https://stagingsigner.dot-dot.ru
SIGNER_DOCS_API_TOKEN='siofdhgt2349875t3iqhf1h2g*^&^%&^GHJGJCxgf'
###< KONTUR_DIADOC###
QUEUE_DSN_AUCTION_CARRIER_VERIFICATION=amqp://ddadmin:Utahth9aeshahgh3saik@rabbitmq:5672/%2f/AUCTION_CARRIER_VERIFICATION
CENTRIFUGAL_API_ENDPOINT_URL=http://centrifugo:8000/api
CENTRIFUGAL_API_KEY='aa7443fb-e623-4363-91ac-ef25908b1403'
CENTRIFUGAL_TOKEN_HMAC_SECRET_KEY='6085d43b-f55b-4387-9dff-3c9abf385dc8'
QUEUE_DSN_WS_ORDER_STATE_UPDATE=amqp://ddadmin:Utahth9aeshahgh3saik@rabbitmq:5672/%2f/WS_ORDER_STATE_UPDATE
QUEUE_DSN_ORDER_IMPORT=amqp://ddadmin:Utahth9aeshahgh3saik@rabbitmq:5672/%2f/ORDER_IMPORT
QUEUE_DSN_AUCTION_CARRIER_VERIFICATION=amqp://ddadmin:Utahth9aeshahgh3saik@rabbitmq:5672/%2f/AUCTION_CARRIER_VERIFICATION
QUEUE_DSN_SYNC_CREATE_CARRIERS=amqp://ddadmin:Utahth9aeshahgh3saik@rabbitmq:5672/%2f/SYNC_CREATE_CARRIERS
QUEUE_DSN_SYNC_CARRIERS=amqp://ddadmin:Utahth9aeshahgh3saik@rabbitmq:5672/%2f/SYNC_CARRIERS
QUEUE_DSN_SELECT_DIRECTION_PUSH=amqp://ddadmin:Utahth9aeshahgh3saik@rabbitmq:5672/%2f/SELECT_DIRECTION_PUSH
QUEUE_DSN_NOTICE=amqp://ddadmin:Utahth9aeshahgh3saik@rabbitmq:5672/%2f/NOTICE
###> TD-518 ###
SYNC_HOST_LIST='{"85723ddd-5018-4428-9073-b0ab5a8ac9d4":"client-testD"}'
SYNC_HOST_TYPE=master
SYNC_HOST_MASTER_URL=''
SYNC_HOST_MASTER_SECRET=''
SYNC_HOST_SYNC_ITEM_PART_LIMIT=100
###< TD-518 ###
ACCOUNTING_AUDIT_LOGIN=ReportServis
ACCOUNTING_AUDIT_PASSWORD=fE7mubiv
BUH_DOT_DOT_EMAIL=no_reply@dot-dot.ru
RECONCILIATION_ACTS=amqp://ddadmin:Utahth9aeshahgh3saik@rabbitmq:5672/%2f/RECONCILIATION_ACT
TENANT=dot

View File

@ -28,6 +28,7 @@ x-defaults-php: &defaults-php
- "sentry.dot-dot.ru:192.168.100.111"
- "testbsigner.dot-dot.ru:192.168.100.110"
- "testb.dot-dot.ru:192.168.100.110"
- "testd.dot-dot.ru:192.168.100.110"
- "testblms.dot-dot.ru:192.168.100.110"
networks:
- dd
@ -59,7 +60,6 @@ services:
<<: *defaults-php
php:
# TODO: Денис должен переделать и добавить
command: ./bin/console app:auction:reload
<<: *defaults-php
@ -70,6 +70,17 @@ services:
carrier-offers:
<<: *defaults-php
command: ./bin/console messenger:consume CarrierOffers
order-import:
<<: *defaults-php
command: ./bin/console messenger:consume OrderImport
reconciliation-act:
<<: *defaults-php
command: ./bin/console messenger:consume ReconciliationAct
ws-order-state-update:
<<: *defaults-php
command: ./bin/console messenger:consume WSOrderStateUpdate
user-trust:
<<: *defaults-php
@ -85,18 +96,6 @@ services:
networks:
- dd
nuxt:
image: registry.dot-dot.ru/front:${FRONT_TAG}
restart: unless-stopped
command: npm run start
volumes:
- ./configs/nuxt/.env:/app/.env
- ./configs/nuxt/entrypoint.sh:/entrypoint.sh
env_file:
- ./configs/nuxt/.env
entrypoint: /entrypoint.sh
networks:
- dd
lms:
image: registry.dot-dot.ru/lms:${LMS_TAG}
@ -118,7 +117,7 @@ services:
volumes:
- ./configs/admin/default:/etc/nginx/sites-enabled/default
- ./configs/admin/.env:/application/.env
- ./configs/nginx/ssl:/etc/nginx/ssl
- /home/ddadmin/dotdot/configs/nginx/ssl:/etc/nginx/ssl
depends_on:
- db
networks:
@ -132,14 +131,12 @@ services:
- ./configs/nginx/conf.d:/etc/nginx/conf.d
- ./configs/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./configs/nginx/www:/var/www
- ./configs/nginx/ssl:/etc/nginx/ssl
- /home/ddadmin/dotdot/configs/nginx/ssl:/etc/nginx/ssl
- ./configs/nginx/other:/etc/nginx/other
- certbot_volume:/etc/letsencrypt
- nginx_log_volume:/var/log/nginx
depends_on:
- nuxt
- php
- static
networks:
dd:
ingress:
@ -190,3 +187,22 @@ services:
entrypoint: /entrypoint.sh
networks:
- dd
centrifugo:
image: centrifugo/centrifugo:v5
volumes:
- ./configs/centrifugo/config.json:/centrifugo/config.json
command: centrifugo -c config.json
ulimits:
nofile:
soft: 65535
hard: 65535
restart: unless-stopped
networks:
- dd
landing-ttl:
image: registry.dot-dot.ru/landing-ttl:${LANDINGTTL_TAG}
restart: unless-stopped
networks:
- dd