Skip to content

Commit

Permalink
adds readme
Browse files Browse the repository at this point in the history
  • Loading branch information
scefali committed Jun 18, 2024
1 parent 980ed0e commit a6a7959
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Store your vectors with the rest of your data. Supports:
Plus [ACID](https://en.wikipedia.org/wiki/ACID) compliance, point-in-time recovery, JOINs, and all of the other [great features](https://www.postgresql.org/about/) of Postgres

[![Build Status](https://github.com/pgvector/pgvector/actions/workflows/build.yml/badge.svg)](https://github.com/pgvector/pgvector/actions)

## Installation

### Fly Setup
Expand All @@ -22,8 +23,20 @@ To deploy pgvector on Fly, start by installing the Fly CLI and setting up your F

1. Download and install the Fly CLI from the [Fly official website](https://fly.io/docs/getting-started/installing-flyctl/).
2. Open your terminal and run `flyctl auth signup` to create a new Fly account or `flyctl auth login` to log into an existing account.
3. Once logged in, create a new Fly Postgres app by running `fly postgres`. This command sets up a new Postgres instance on Fly. Note at this stage this is still the base Fly Postgres image instead the one with pgvector.
3. Once logged in, create a new Fly Postgres app by running `fly pg`. This command sets up a new Postgres instance on Fly. Note at this stage this is still the base Fly Postgres image instead the one with pgvector.
4. After setting up your Fly Postgres app, copy the output connection string provided. Store this string securely as you will need it to connect to your database. Consider using a password manager or another secure method to keep this information safe.
5. Configure your app by modifying the `fly.toml` file, which was generated during the app creation process, to suit your deployment needs. This file includes settings for regions, resources, and more.
6. To authenticate your Fly CLI with the Fly platform, you need an API token. You can obtain this token by navigating to your Fly dashboard. Go to the 'Account Settings' and click on 'Access Tokens'. Create a new token if you don't have one already, and copy it.
7. To set this token as an environment variable in GitHub Actions, navigate to your repository on GitHub. Go to 'Settings' > 'Secrets' > 'Actions'. Click on 'New repository secret'. Name the secret `FLY_API_TOKEN` and paste your copied token into the value field. This will securely store your token and make it available in your GitHub Actions workflows.

### Making the Database accessible to outside world (optional)

To make your database accessible from external tools like Postico, you need to generate a dedicated IPv4 address for your application. Here’s how to do it:

1. Allocate an IPv6 address for your application by running `flyctl ips allocate-v4` in your terminal. This command will generate a new dedicated IPv4 address for your Fly application that will cost $2/mo.
2. After allocating the IPv4 address, you can find it by running `flyctl ips list`. This will list all IP addresses associated with your application, including the newly allocated IPv6.
3. Restart Postgres by running `fly pg restart`
4. Configure the host name in Postico or any other database management. Replace the `flycast` in your connection string with `fly.dev`.


This setup allows you to securely connect to your database from your preferred tool without needing to modify additional configuration files or deploy changes.

0 comments on commit a6a7959

Please sign in to comment.