Skip to content

Latest commit

 

History

History
160 lines (106 loc) · 3.28 KB

DEVELOPMENT.md

File metadata and controls

160 lines (106 loc) · 3.28 KB

Voltaserve Development

Prerequisites

Install Bun.

Install Go for your platform.

Install Rust for your platform.

Install Poetry.

Install Python 3.12 with pyenv.

Run Infrastructure Services

Using Docker

docker compose up -d \
    cockroach \
    minio \
    meilisearch \
    redis \
    maildev

Run the migrations/migrate tool in the newly created database.

From Binaries

CockroachDB

Download the binary archive and extract the archive.

Start CockroachDB:

./cockroach start-single-node --insecure --http-addr=0.0.0.0:18080

Using DBeaver or any PostgreSQL GUI, connect with root and no password, then create a user and database:

CREATE DATABASE voltaserve;
CREATE USER voltaserve;
GRANT ALL PRIVILEGES ON DATABASE voltaserve TO voltaserve;

Run the migrations/migrate tool in the newly created database.

Redis

Download the source archive and follow the guide to build from the source.

Start Redis:

./src/redis-server

MinIO

Download the binary and move it into its own folder like: minio.

Assign execute permission to the binary:

chmod +x ./minio

Start MinIO:

MINIO_ROOT_USER=voltaserve MINIO_ROOT_PASSWORD=voltaserve ./minio server ./data --console-address ":9001"

Meilisearch

Download the binary and move it into its own folder like: meilisearch.

This guide might be useful.

Assign execute permission to the binary:

chmod +x ./meilisearch

Note: the binary will have a suffix matching the architecture of your computer.

Mailhog

Install:

go install github.com/mailhog/MailHog@latest

Start Mailhog:

MailHog

Install Command Line Tools

macOS 14.5 Sonoma and later

npm i -g gltf-pipeline
npm i -g @koupr/screenshot-glb

Install browser dependencies:

npx playwright install-deps

Install browsers:

npx playwright install
brew install --cask libreoffice
brew install \
    ocrmypdf \
    qpdf \
    exiftool \
    poppler \
    imagemagick \
    ffmpeg

Debian 12 bookworm and later

Run Voltaserve Conversion with the environment variable ENABLE_INSTALLER set to true. This will install the dependencies in the background. Incoming requests will be queued and be waiting until the installation is complete.

Run Microservices

Start each microservice separately in a new terminal as described here: