wget https://github.com/dragonflydb/dragonfly/releases/download/v1.31.2/dragonfly_amd64.deb
sudo apt-get install ./dragonfly_amd64.deb
dragonfly --version
sudo useradd -r -s /bin/false dfly
sudo mkdir -p /var/lib/dragonfly sudo mkdir -p /var/log/dragonfly sudo mkdir -p /etc/dragonfly
sudo chown -R dfly:dfly /var/lib/dragonfly sudo chown -R dfly:dfly /var/log/dragonfly sudo chown -R dfly:dfly /etc/dragonfly
sudo vi /etc/dragonfly/dragonfly.conf
--port=6379
--bind=0.0.0.0
--dbnum=100000
--dir=/var/lib/dragonfly
--dbfilename=dump
--snapshot_cron=0 * * * *
--log_dir=/var/log/dragonfly
--logtostderr
--maxmemory=24GB
--cache_mode=true
--proactor_threads=4
# Limit IO threads (default = CPU num cores)
--proactor_threads=4
sudo vi /etc/systemd/system/dragonfly.service
[Unit]
Description=Dragonfly - Modern and fast key-value store
Documentation=https://www.dragonflydb.io/docs
After=network.target
[Service]
Type=simple
User=dfly
Group=dfly
ExecStart=/usr/bin/dragonfly --flagfile=/etc/dragonfly/dragonfly.conf
Restart=always
RestartSec=5
LimitNOFILE=10048576
WorkingDirectory=/var/lib/dragonfly
# Security hardening
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/lib/dragonfly /var/log/dragonfly
# CPU Resource Limits
CPUQuota=200%
CPUWeight=100
CPUAffinity=0-5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl restart dragonfly.service
sudo systemctl status dragonfly.service
systemd-cgtop