Install from Binary
Download and unzip EloqDoc tarball
EloqDoc is compatible Ubuntu 20.04, 22.04 and 24.04. Download the proper tarball for your operating system from here.
After successfully downloading the proper binary, untar it in a directory.
- Ubuntu20.04
- Ubuntu22.04
- Ubuntu24.04
mkdir eloqdoc-cloud && tar -zxf eloqdoc-v0.2.1-ubuntu20-amd64.tar.gz -C eloqdoc-cloud
mkdir eloqdoc-cloud && tar -zxf eloqdoc-v0.2.1-ubuntu22-amd64.tar.gz -C eloqdoc-cloud
mkdir eloqdoc-cloud && tar -zxf eloqdoc-v0.2.1-ubuntu24-amd64.tar.gz -C eloqdoc-cloud
After tarball eloqdoc, you should see three folders: bin, lib, and etc. The bin folder contains executable files. The lib folder contains dependency shared libs. The etc folder contains a configuration file which you should modify based on your environment.
Start S3 emulator
eloqdoc-cloud is cloud-native. However, developer can use some S3 emulator to run it for testing.
Open a new terminal. Download and launch minio.
mkdir minio-service && cd minio-service
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server ./data
After launch minio successfully, you shoud see outputs.
MinIO Object Storage Server
Copyright: 2015-2025 MinIO, Inc.
License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
Version: RELEASE.2025-05-24T17-08-30Z (go1.24.3 linux/amd64)
API: http://192.168.12.52:9000 http://172.17.0.1:9000 http://127.0.0.1:9000
RootUser: minioadmin
RootPass: minioadmin
WebUI: http://192.168.12.52:41127 http://172.17.0.1:41127 http://127.0.0.1:41127
RootUser: minioadmin
RootPass: minioadmin
CLI: https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart
$ mc alias set 'myminio' 'http://192.168.12.52:9000' 'minioadmin' 'minioadmin'
Docs: https://docs.min.io
WARN: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables
Prepare EloqDoc config file
EloqDoc uses a configuration file to customize settings. An example is provided in etc/mongod.conf
under the installation directory. Below is an example of how to configure EloqDoc to run on a local machine.
systemLog:
verbosity: 0
destination: file
path: "/home/mono/eloqdoc-cloud/logs/mongod.log"
component:
ftdc:
verbosity: 0
net:
serviceExecutor: "adaptive"
storage:
dbPath: "/home/mono/eloqdoc-cloud/db"
engine: "eloq"
eloq:
adaptiveThreadNum: 1
reservedThreadNum: 4
txService:
localIP: "127.0.0.1:8080"
ccProtocol: OccRead
checkpointerIntervalSec: 10
nodeMemoryLimitMB: 16384
collectActiveTxTsIntervalSec: 2
checkpointerDelaySec: 5
storage:
awsAccessKeyId: "minioadmin"
awsSecretKey: "minioadmin"
rocksdbCloudBucketName: "eloqdoc-storage"
rocksdbCloudBucketPrefix: "rocksdb-cloud-"
rocksdbCloudRegion: ""
rocksdbCloudEndpointUrl: "http://127.0.0.1:9000"
setParameter:
diagnosticDataCollectionEnabled: false
disableLogicalSessionCacheRefresh: true
ttlMonitorEnabled: false
Modify systemLog.path
and storage.dbPath
based on your environment. And
create the target folders if not exist.
mkdir eloqdoc-cloud/db
mkdir eloqdoc-cloud/logs
Start EloqDoc server
cd eloqdoc-cloud && \
env LD_PRELOAD=./lib/libmimalloc.so.2:./lib/libbrpc.so \
./bin/mongod --config ./etc/mongod.conf
Connect to EloqDoc server
Open another terminal and execute run mongo client.
cd eloqdoc-cloud && \
./bin/mongo --eval "db.t1.save({k: 1}); db.t1.find();"
It should outputs
MongoDB shell version v4.0.3
connecting to: mongodb://127.0.0.1:27017
Implicit session: session { "id" : UUID("288393c1-aff6-4a84-ad46-dee6691b361d") }
MongoDB server version: 4.0.3
{ "_id" : ObjectId("68493ec41cc981ea926ec094"), "k" : 1 }