Skip to content

Latest commit

 

History

History
146 lines (96 loc) · 3.07 KB

DEVELOPMENT.md

File metadata and controls

146 lines (96 loc) · 3.07 KB

Voltaserve Development

Prerequisites

Install Deno.

Install Bun.

Install Node.js.

Install Go.

Install Rust.

Install Poetry.

Install Python 3.11 with pyenv.

Run Infrastructure Services

Using Docker

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

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

From Binaries

PostgreSQL

Download and run PostgreSQL.

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

CREATE DATABASE voltaserve;
CREATE USER voltaserve WITH PASSWORD 'voltaserve';
ALTER DATABASE voltaserve OWNER 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 15 Sequoia and Later

npm i -g gltf-pipeline
brew install --cask blender
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: