Skip to content

Commit ebc6e3b

Browse files
authored
Merge pull request #40 from intelowlproject/greedybear_upgrade_guide
Add guide for GreedyBear upgrade to 2.x
2 parents 2c03079 + 0e8a8cf commit ebc6e3b

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

docs/GreedyBear/UpgradeToV2.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Upgrade GreedyBear 1.x to 2.x
2+
For the upgrade from GreedyBear 1.x to 2.x manual intervention is required, because the underlying PostgreSQL version changed from 13 to 18. If you follow this guide carefully, you should not lose any data in the process. However, it is **strongly recommended** to backup your system before performing the update.
3+
4+
## Prerequisites
5+
- GreedyBear 1.x running with PostgreSQL 13
6+
- Docker and Docker Compose installed
7+
- Sufficient disk space for database dump
8+
9+
## Upgrade Steps
10+
1. Open a terminal at GreedyBear's root folder
11+
2. If GreedyBear is running, stop it: `docker compose down`
12+
3. Navigate to the docker folder: `cd docker`
13+
4. Remove the old postgres container: `docker rm greedybear_postgres`
14+
5. Start an intermediary PostgreSQL 13 container: `docker run -d --name greedybear_postgres -v greedybear_postgres_data:/var/lib/postgresql/data/ --env-file env_file_postgres library/postgres:13-alpine`
15+
6. Wait a few seconds for the container to be ready, then backup the database: `docker exec -t greedybear_postgres pg_dump -U user -d greedybear_db --no-owner > greedybear_dump.sql`
16+
7. Stop the container: `docker container stop greedybear_postgres`
17+
8. Remove the intermediary container: `docker rm greedybear_postgres`
18+
9. Delete the PostgreSQL 13 data volume: `docker volume rm greedybear_postgres_data`
19+
10. Start an intermediary PostgreSQL 18 container: `docker run -d --name greedybear_postgres -v greedybear_postgres_data:/var/lib/postgresql/data/ --env-file env_file_postgres library/postgres:18-alpine`
20+
11. Wait a few seconds for the container to be ready, then restore the database: `cat greedybear_dump.sql | docker exec -i greedybear_postgres psql -U user -d greedybear_db`
21+
12 . Stop the intermediary container: `docker container stop greedybear_postgres`
22+
13. Remove the intermediary container: `docker container rm greedybear_postgres`
23+
14. Return to the root folder: `cd ..`
24+
15. Update GreedyBear to version 2.x following your standard update procedure
25+
16. Start GreedyBear 2.x: `docker compose up`
26+
27+
## Verification & Cleanup
28+
- After completing the upgrade, verify that all containers are running: `docker compose ps`
29+
- Check if GreedyBear is accessible, functioning correctly and still contains your data
30+
- Delete the backup file: rm docker/greedybear_dump.sql
31+
32+

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ nav:
2121
- GreedyBear:
2222
- Introduction: "GreedyBear/Introduction.md"
2323
- Installation: "GreedyBear/Installation.md"
24+
- Upgrade to 2.x: "GreedyBear/UpgradeToV2.md"
2425
- Usage: "GreedyBear/Usage.md"
2526
- Contribute: "GreedyBear/Contribute.md"
2627
- API docs: "GreedyBear/Api-docs.md"

0 commit comments

Comments
 (0)