Update README.md

Signed-off-by: Alex Vanin <a.vanin@yadro.com>
This commit is contained in:
Alexey Vanin 2023-05-15 16:11:10 +03:00
parent 9eaba45703
commit 0d9dd9816e

View file

@ -1,44 +1,65 @@
# FrostFS All-in-One # FrostFS All-in-One
Single node deployment helper provides instructions on how to deploy FrostFS This repository contains Dockerfile for FrostFS All-in-One image and helper
components in the on-premise setup on one physical or virtual server. There will scripts to start container. All-in-One image contains binaries and config
be just one instance of a service of each type, hence it is suitable for files for:
development purposes only and not recommended for production use. - neo-go
- frostfs-ir
- frostfs-storage
- frostfs-cli
- frostfs-adm
- frostfs-s3-gw
- frostfs-s3-authmate
- frostfs-http-gw
Entrypoint script starts blockchain, inner ring, storage, s3, and http gateway
services and configures it in the initial start.
| Service | Port |
|-----------------------------|-------|
| neo-go RPC | 30333 |
| FrostFS Storage gRPC API | 8080 |
| FrostFS Storage Control API | 16513 |
| FrostFS HTTP Gateway | 8081 |
| FrostFS S3 Gateway | 8084 |
# Server requirements # Prerequisites
- Docker with docker-compose - docker v20.10 or higher
- `jq` - docker-compose v2.10 or higher
- `curl` - make v3.82 or higher
> Makefile script runs docker-compose with `--wait` flag, which is introduced in
> docker-compose v2. You can use older version of docker-compose by executing it
> manually.
# Quick Start # Quick Start
Run container: Clone repository and start container with docker-compose.
``` sh ``` sh
$ git clone ssh://git@b.yadro.com:7999/obj/frostfs-aio.git /opt/frostfs $ git clone https://git.frostfs.info/TrueCloudLab/frostfs-aio.git
$ cd /opt/frostfs $ cd frostfs-aio
$ make up $ make up tick.epoch
``` ```
Initial start takes about 40 seconds. Its readiness is based on healthcheck done by `docker-compose`. Initial start initializes the storage configuration. Its readiness is based
on a healthcheck done by `docker-compose`.
The container can be stopped when needed: Container can be stopped with:
``` sh ``` sh
$ make down $ make down
``` ```
The stored data and the blockchain configuration remain until the container's volume is deleted. Data and the system configuration is stored in container's volume.
So the next time we start the container with `make up` it will take about 10 seconds to initialize. Next time container is started, it will take less time to initialize.
A storage node container uses persistent storage, so, if you've updated `aio` version Before updating image version, reset `frostfs-aio` by clearing its local volume
or just want to reset the `frostfs-aio`, it's recommended to clear its local volume before starting container.
before starting the container:
``` sh ```
$ make clean $ make clean
``` ```
@ -60,21 +81,17 @@ Node 1: 022bb4041c50d607ff871dec7e4cd7778388e0ea6849d84ccbd9aa8f32e16a8131 ONLIN
``` ```
If you don't see the output like this, you can wait for the new Epoch to come If you don't see the output like this, you can wait for the new Epoch to come
(about 1 hour), or force the starting of new epoch. or force the starting of new epoch.
If the commands fails, make sure you have jq installed.
``` sh ``` sh
$ make tick.epoch $ make tick.epoch
Updating FrostFS epoch to 2 Current epoch: 1, increase to 2.
752aa525dfb36b6447f45b41fd3906db9f6a9cdecd2cf36ce6816b1b6ef453192 Waiting for transactions to persist...
``` ```
Now everything is ready to serve your requests.
# Build images # Build images
Also, you can build the aio image itself: Build frostfs-aio image locally with this command.
``` sh ``` sh
$ make image-aio $ make image-aio