...
Code Block |
---|
operations: gitlab.tunex.io:5050/marionette-develop/core/operations:latest
balances: gitlab.tunex.io:5050/marionette-develop/core/balances:latest
accounting: gitlab.tunex.io:5050/marionette-develop/core/accounting:latest
trading:
enabled: true
image: gitlab.tunex.io:5050/marionette-develop/core/trading:latest
separate_trading_user_account: false
default_market: "ETH-USDT"
|
...
Docker Compose Templates:
View file | ||
---|---|---|
|
...
File:
...
Two files in the templates/compose
folder need to be replaced to include the new images listed above. Note that one image is hardcoded in the back-end.
Action Required:
...
Download the updated files and replace the existing ones in the templates/compose
folder.
templates/compose/required.yaml.t
Paste the code below into the position indicated on the screen:
...
Code Block |
---|
clickhouse:
image: clickhouse/clickhouse-server
volumes:
- ../data/clickhouse_data/:/var/lib/clickhouse/
- ../data/clickhouse_logs/:/var/log/clickhouse-server/
ulimits:
nproc: 65535
nofile:
soft: 262144
hard: 262144 |
File: templates/compose/backend.yaml.t
Paste the code below into the position indicated on the screen:
...
Replace the whole operations.
Code Block |
---|
operations:
restart: always
image: {{components.operations}}
env_file:
- ../config/database.env
environment:
CANCEL_OVERAMOUNT: 1
{{#ifEquals components.trading.enabled true}}
SEPARATE_TRADING_USER_ACCOUNT: {{#ifEquals components.trading.separate_trading_user_account true}}1{{else}}0{{/ifEquals}}
{{/ifEquals}}
depends_on:
- clickhouse
{{#ifEquals mode "swarm"}}
deploy:
labels:
- "traefik.http.routers.operations.rule=Host(`{{base_url}}`) && PathPrefix(`/components/operations`)"
- "traefik.enable=true"
- "traefik.http.services.operations.loadbalancer.server.port=3000"
{{#if components.traefik.ssl}}
- "traefik.http.routers.operations.entrypoints=websecure"
- "traefik.http.routers.operations.tls=true"
- "traefik.http.routers.operations.tls.certresolver=myresolver"
- "traefik.http.routers.operations.middlewares=secureheaders"
{{else}}
- "traefik.http.routers.operations.entrypoints=web"
{{/if}}
{{/ifEquals}}
{{#ifEquals mode "compose"}}
labels:
- "traefik.http.routers.operations.rule=Host(`{{base_url}}`) && PathPrefix(`/components/operations`)"
- "traefik.enable=true"
- "traefik.http.services.operations.loadbalancer.server.port=3000"
{{#if components.traefik.ssl}}
- "traefik.http.routers.operations.entrypoints=websecure"
- "traefik.http.routers.operations.tls=true"
- "traefik.http.routers.operations.tls.certresolver=myresolver"
- "traefik.http.routers.operations.middlewares=secureheaders"
{{else}}
- "traefik.http.routers.operations.entrypoints=web"
{{/if}}
{{/ifEquals}}
|
File: templates/compose/backend.yaml.t
Paste the code below into the position indicated on the screen:
...
Replace the balances
Code Block |
---|
balances:
restart: always
image: {{components.balances}}
env_file:
- ../config/database.env
environment:
LOGLEVEL: {{log_level}}
NODE_OPTIONS: --max-old-space-size=14000
depends_on:
- clickhouse
{{#ifEquals mode "swarm"}}
deploy:
labels:
- "traefik.http.routers.balances.rule=Host(`{{base_url}}`) && PathPrefix(`/components/balances`)"
- "traefik.enable=true"
- "traefik.http.services.balances.loadbalancer.server.port=3000"
{{#if components.traefik.ssl}}
- "traefik.http.routers.balances.entrypoints=websecure"
- "traefik.http.routers.balances.tls=true"
- "traefik.http.routers.balances.tls.certresolver=myresolver"
- "traefik.http.routers.balances.middlewares=secureheaders"
{{else}}
- "traefik.http.routers.balances.entrypoints=web"
{{/if}}
{{/ifEquals}}
{{#ifEquals mode "compose"}}
labels:
- "traefik.http.routers.balances.rule=Host(`{{base_url}}`) && PathPrefix(`/components/balances`)"
- "traefik.enable=true"
- "traefik.http.services.balances.loadbalancer.server.port=3000"
{{#if components.traefik.ssl}}
- "traefik.http.routers.balances.entrypoints=websecure"
- "traefik.http.routers.balances.tls=true"
- "traefik.http.routers.balances.tls.certresolver=myresolver"
- "traefik.http.routers.balances.middlewares=secureheaders"
{{else}}
- "traefik.http.routers.balances.entrypoints=web"
{{/if}}
{{/ifEquals}}
|
File: templates/compose/backend.yaml.t
Paste the code below into the position indicated on the screen:
...
Replace the trading and add the accounting in the code bellow.
Code Block |
---|
trading:
restart: always
image: {{components.trading.image}}
env_file:
- ../config/database.env
environment:
LOGLEVEL: {{log_level}}
SEPARATE_TRADING_USER_ACCOUNT: {{#ifEquals components.trading.separate_trading_user_account true}}1{{else}}0{{/ifEquals}}
depends_on:
- clickhouse
{{#ifEquals mode "swarm"}}
deploy:
labels:
- "traefik.http.routers.trading.rule=Host(`{{base_url}}`) && PathPrefix(`/components/trading`)"
- "traefik.enable=true"
- "traefik.http.services.trading.loadbalancer.server.port=3000"
{{#if components.traefik.ssl}}
- "traefik.http.routers.trading.entrypoints=websecure"
- "traefik.http.routers.trading.tls=true"
- "traefik.http.routers.trading.tls.certresolver=myresolver"
- "traefik.http.routers.trading.middlewares=secureheaders"
{{else}}
- "traefik.http.routers.trading.entrypoints=web"
{{/if}}
{{/ifEquals}}
{{#ifEquals mode "compose"}}
labels:
- "traefik.http.routers.trading.rule=Host(`{{base_url}}`) && PathPrefix(`/components/trading`)"
- "traefik.enable=true"
- "traefik.http.services.trading.loadbalancer.server.port=3000"
{{#if components.traefik.ssl}}
- "traefik.http.routers.trading.entrypoints=websecure"
- "traefik.http.routers.trading.tls=true"
- "traefik.http.routers.trading.tls.certresolver=myresolver"
- "traefik.http.routers.trading.middlewares=secureheaders"
{{else}}
- "traefik.http.routers.trading.entrypoints=web"
{{/if}}
{{/ifEquals}}
accounting:
restart: always
image: {{components.accounting}}
env_file:
- ../config/database.env
depends_on:
- clickhouse
{{#ifEquals mode "swarm"}}
deploy:
labels:
- "traefik.http.routers.accounting.rule=Host(`{{base_url}}`) && PathPrefix(`/components/accounting`)"
- "traefik.enable=true"
- "traefik.http.services.accounting.loadbalancer.server.port=3000"
{{#if components.traefik.ssl}}
- "traefik.http.routers.accounting.entrypoints=websecure"
- "traefik.http.routers.accounting.tls=true"
- "traefik.http.routers.accounting.tls.certresolver=myresolver"
- "traefik.http.routers.accounting.middlewares=secureheaders"
{{else}}
- "traefik.http.routers.accounting.entrypoints=web"
{{/if}}
{{/ifEquals}}
{{#ifEquals mode "compose"}}
labels:
- "traefik.http.routers.accounting.rule=Host(`{{base_url}}`) && PathPrefix(`/components/accounting`)"
- "traefik.enable=true"
- "traefik.http.services.accounting.loadbalancer.server.port=3000"
{{#if components.traefik.ssl}}
- "traefik.http.routers.accounting.entrypoints=websecure"
- "traefik.http.routers.accounting.tls=true"
- "traefik.http.routers.accounting.tls.certresolver=myresolver"
- "traefik.http.routers.accounting.middlewares=secureheaders"
{{else}}
- "traefik.http.routers.accounting.entrypoints=web"
{{/if}}
{{/ifEquals}} |
...
Server Migration:
This release introduces a new database, ClickHouse. To ensure a successful migration, follow the steps below for the initial setup.
...
Code Block |
---|
docker-compose up -d |
Re-migration.
If you saw the error this is how you do migration manually.
Chcek puppeteer and remember balance of someone.
start accounting
open clickhouse client, then check if the tables exist
Code Block delete from ledgerRecords where true
open logs for accounting in other terminal
Code Block docker compose logs -f accounting
In new windows run the marionette cli tool.
./m cli
run the migration
Code Block call 'accounting.migrate'
make sure it is finished, check the logs
if no errors migration is done
restart balances
Code Block docker compose restart balances
check puppeteer for balances and make sure the balances are same and there are not duplicate records