From ce19b63426485f1584807dda7e55e5b46102b262 Mon Sep 17 00:00:00 2001 From: Cian Hughes Date: Tue, 11 Aug 2026 20:44:34 +0100 Subject: [PATCH] Updated README.md --- README.md | 46 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 718abf1..08edabb 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,50 @@ This repository contains the source code for I-Form's custom Invenio instance ## Deployment -This project is deployed via docker compose, by using the following command in the root directory: +This project is deployed using an automated Python CLI. All commands should be +run from the repository root via `uv`. + +### 1. Initial Server Setup (Bootstrap) + +On the deployment server, first generate the `.env` configuration file: ```sh -docker compose up +uv run cli bootstrap server +mv .env.template .env +``` +Populate the `.env` file with the specific configuration. (S3 credentials will +be fetched dynamically via AWS environment variables or Bitwarden during +deployment). + +### 2. Pushing Updates + +Before deploying, it is required to merge the local `main` branch into `prod` +and push it to the remote server. This can be done automatically from the local +machine: + +```sh +uv run cli deploy merge-and-push-prod +``` + +### 3. First-Time Deployment + +On the deployment server, spin up the infrastructure and initialize the +databases and indices for the first time by running: + +```sh +uv run cli deploy prod-deploy +``` + +### 4. Updating an Existing Deployment + +For future code updates, pull and deploy the latest changes with automatic +healthcheck rollbacks using: + +```sh +uv run cli deploy prod-update --auto-rollback ``` ## License -This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. - - +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file +for details.