From ae85d106d647c2d03da200cfd522638b1d9b359e Mon Sep 17 00:00:00 2001 From: Piotr Rogowski Date: Sat, 5 Nov 2022 19:34:06 +0100 Subject: [PATCH] Update README --- README.md | 23 +++++++++++++++++------ public/icon.png | Bin 0 -> 29878 bytes 2 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 public/icon.png diff --git a/README.md b/README.md index 32b0c67..22f3ec9 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,29 @@ -# HyperTuner Cloud backend +

+ HyperTuner +

-This is the backend for the HyperTuner Cloud. It is based on a great [PocketBase](https://pocketbase.io) (Open Source backend in 1 file). +

HyperTuner Cloud Backend

-This repository contains: +
+

hypertuner.cloud

+

The best way to share your tunes and logs.

+
-- The source code of the HyperTuner Cloud backend that extends PocketBase. +
+ +This is the backend for the [HyperTuner Cloud](https://github.com/hyper-tuner/hyper-tuner-cloud). It is based on a great [PocketBase](https://pocketbase.io) (Open Source backend in 1 file). + +## This repository + +- the source code of the **HyperTuner Cloud** backend that extends **PocketBase**. - database schema - configurations -- deployment scripts / Docker and docker compose files +- deployment scripts / **Docker** and docker compose files - migration scripts and guides ## Setting up your instance -Use provider Docker files from the `/docker` directory or just grab the binary from the [Releases](https://github.com/hyper-tuner/cloud-backend) page: +Use provider Docker files from the `/docker` directory or just grab the binary from the [Releases](https://github.com/hyper-tuner/cloud-backend/releases) page. ```bash ./cloud-backend serve diff --git a/public/icon.png b/public/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..43b1750f4ff498b54317caaffb1ca883d42f2d5d GIT binary patch literal 29878 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 literal 0 HcmV?d00001