DEXBot2 now ships container images only for release tags matching v*.*.*.
latest- most recent stable release build (not updated for pre-release tags)vX.Y.Z- release tag imagesha-<commit>- immutable commit build
Images are published to:
ghcr.io/froooze/dexbot2
docker build -t dexbot2:local .
docker run --rm -it dexbot2:local node dexbot.js helpFor production and best secret hygiene without PM2, use the bundled unlock launcher:
node unlock-start- Enter the master password once interactively.
- Password stays in daemon memory (RAM) and is not stored in
.env. - Bot processes request private keys through the daemon socket.
- If the credential daemon stops, rerun the launcher to unlock it again.
To start only one bot:
node unlock-start <bot-name>For claw-only workflows that only need credentials, use:
node unlock-start --claw-onlyFor PM2-managed credential-daemon-only startup:
node pm2 claw-only- Create a
.envfile in the project root for non-secret Docker Compose runtime values:
BOT_NAME=my-bot
RUN_LOOP_MS=5000- Start the bot:
docker compose upThis compose mode runs dexbot.js directly and may prompt for the master password.
- View logs:
docker compose logs -f dexbot- Stop:
docker compose down- Persist bot state/config by mounting
./profiles:/app/profiles. - Keep
.envfor non-sensitive runtime values (for exampleBOT_NAME,RUN_LOOP_MS). - Do not store the master password in
.env. The secure launchers prompt once and keep it only in process memory. - If you prefer immutable pinning, replace
latestindocker-compose.ymlwith asha-<commit>tag.