Skip to content

ASIC Sentry - How to deploy with rpm package?

[1] Go to ASIC Sentry release and download rpm

wget https://github.com/nguyenvinhlinh/ASIC-Sentry/releases/download/v1.0.0/asic-sentry-1.0.0-1.fc40.x86_64.rpm

[2] Run dnf install

dnf install asic-sentry-1.0.0-1.fc40.x86_64.rpm -y

Your installation should be in /opt/asic_sentry

tree -L 1 /opt/asic_sentry

/opt/asic_sentry
├── bin
├── erts-15.0
├── lib
└── releases

From this step, it's identical to Manual Deployment

[3] Run test script before working with systemd service

export SECRET_KEY_BASE=Mc5oIum6N8aeNdjghwfJQYVE2OQncnqBkCCyaXdA1X/puugR99VvcSuvAqOoGYdW
export PORT=4001
export PHX_HOST=192.168.1.9
export DATABASE_FILE=/opt/asic_sentry_data/data.db
mkdir /opt/asic_sentry_data;

# Migrate sqlite database
/opt/asic_sentry/bin/migrate
...
00:29:39.840 [info] == Running 20250116173006 AsicSentry.Repo.Migrations.CreateAsicMiners.change/0 forward
00:29:39.843 [info] create table asic_miners
00:29:39.844 [info] == Migrated 20250116173006 in 0.0s
00:29:39.885 [info] == Running 20250118184800 AsicSentry.Repo.Migrations.CreateUniqueConstraintApiCodeColInAsicMinersTable.change/0 forward
00:29:39.885 [info] create index asic_miners_api_code_index
00:29:39.885 [info] == Migrated 20250118184800 in 0.0s
00:29:39.886 [info] == Running 20250118184801 AsicSentry.Repo.Migrations.CreateConfigs.change/0 forward
00:29:39.886 [info] create table configs
00:29:39.887 [info] create index configs_key_index
00:29:39.887 [info] == Migrated 20250118184801 in 0.0s


# Run server, go to http://127.0.0.1:4001
/opt/asic_sentry/bin/server
...
00:30:57.430 [info] [AsicMinerLogSender] Started
00:30:57.430 [info] [AsicSentry.Worker.AsicMinerSpecsSender] Started
00:30:57.430 [info] [Elixir.AsicSentry.Worker.AsicMinerSpecsStash] Started
00:30:57.444 [info] Running AsicSentryWeb.Endpoint with Bandit 1.6.5 at :::4001 (http)

[4] Create systemd service /etc/systemd/system/asic_sentry.service

[Unit]
Description=ASIC Sentry
After=network.target

[Service]
WorkingDirectory=/opt/asic_sentry
EnvironmentFile=/etc/asic_sentry/asic_sentry.env
ExecStart=/opt/asic_sentry/bin/server
ExecStop=/opt/asic_sentry/bin/asic_sentry stop
User=nguyenvinhlinh
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

[5] Create systemd environment file /etc/asic_sentry/asic_sentry.env

SECRET_KEY_BASE=
PORT=4001
PHX_HOST=127.0.0.1
DATABASE_FILE=/opt/asic_sentry_data/data.db

[6] Start systemd service asic_sentry

systemctl start  asic_sentry.service
systemctl enable asic_sentry.service

[7] View log

journalctl -f -u asic_sentry