mirror of
https://github.com/Cian-H/iform-invenio.git
synced 2026-08-16 16:32:50 +01:00
54 lines
1.3 KiB
Markdown
54 lines
1.3 KiB
Markdown
# Research Project Website
|
|
|
|
This repository contains the source code for I-Form's custom Invenio instance
|
|
|
|
## Deployment
|
|
|
|
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
|
|
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.
|