Added documentation for Upgrades and Recovery
This commit is contained in:
parent
b7ebd15d83
commit
a0b7b4af90
1 changed files with 70 additions and 8 deletions
78
README.md
78
README.md
|
@ -18,6 +18,9 @@
|
|||
- [Clone \& configure initially](#clone--configure-initially)
|
||||
- [Fist run](#fist-run)
|
||||
- [Upgrade](#upgrade)
|
||||
- [Test](#test)
|
||||
- [Prod](#prod)
|
||||
- [Disaster recovery / restore](#disaster-recovery--restore)
|
||||
- [Rebuild containers locally](#rebuild-containers-locally)
|
||||
|
||||
## Prerequisites
|
||||
|
@ -164,8 +167,6 @@ sed -i -e 's/^#duration_expr/duration_expr/g' /etc/crowdsec/profiles.yaml \
|
|||
|
||||
Setup notifications:
|
||||
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
### Clone & configure initially
|
||||
|
@ -209,13 +210,74 @@ docker compose build --no-cache \
|
|||
|
||||
## Upgrade
|
||||
|
||||
1. Update `AUTHENTIK_TAG` to the desired tag in `env.template`.
|
||||
### Test
|
||||
|
||||
1. Update `AUTHENTIK_TAG` to the desired tag in `env.test.template`.
|
||||
2. Commit & push changes to the Repo.
|
||||
3. Run `diff --color='auto' env.template .env` to display the diff between
|
||||
`env.template` and `.env`.
|
||||
4. Port the made changes to `.env`.
|
||||
5. `docker compose down`
|
||||
6. `docker compose up -d; docker compose logs -f`
|
||||
3. Run `diff --color='auto' env.test.template .env` to display the diff between
|
||||
`env.test.template` and `.env`.
|
||||
1. Port the made changes to `.env`.
|
||||
2. `docker-compose-2.32.4 down`
|
||||
3. `docker-compose-2.32.4 up -d; docker-compose-2.32.4 logs -f`
|
||||
|
||||
### Prod
|
||||
|
||||
1. Update `AUTHENTIK_TAG` to the desired tag in `env.prod.template`.
|
||||
2. Commit & push changes to the Repo.
|
||||
3. Run `diff --color='auto' env.prod.template .env` to display the diff between
|
||||
`env.prod.template` and `.env`.
|
||||
1. Port the made changes to `.env`.
|
||||
2. `docker compose down`
|
||||
3. `docker compose up -d; docker compose logs -f`
|
||||
|
||||
## Disaster recovery / restore
|
||||
|
||||
**IMPORTANT:**
|
||||
You've to use different docker cli clients on prod/test.
|
||||
|
||||
- Prod
|
||||
- Docker: `docker`
|
||||
- Docker compose: `docker compose`
|
||||
- Test
|
||||
- Docker: `docker`
|
||||
- Docker compose: `docker-compose-2.32.4`
|
||||
|
||||
For the ease of readability I'll use `docker` and `docker compose` in the documentation below,
|
||||
please repalce it for restores on test!
|
||||
|
||||
1. Run the restore cli
|
||||
```shell
|
||||
docker compose run --rm restore-cli
|
||||
```
|
||||
2. Run the restore command and follow it's instructions
|
||||
```shell
|
||||
restore
|
||||
```
|
||||
3. If the restore was successfull, exit the restore container.
|
||||
**DO NOT START THE APPLICATION YET!**
|
||||
4. Run the PostgreSQL container without starting the main application
|
||||
```shell
|
||||
docker compose run --rm postgresql
|
||||
```
|
||||
5. Open another shell in the sso git directory.
|
||||
6. Execute a shell in the running PostgreSQL container (replace `<containerid>` with the actual container id)
|
||||
```shell
|
||||
docker exec -it sso-base23-de-postgresql-run-<containerid> bash
|
||||
```
|
||||
7. If the database already contains data, delete an recreate it:
|
||||
```shell
|
||||
dropdb -U ${PG_USER:-authentik} ${PG_DB:-authentik}
|
||||
createdb -U ${PG_USER:-authentik} ${PG_DB:-authentik}
|
||||
```
|
||||
8. Restore the database
|
||||
```shell
|
||||
psql ${PG_USER:-authentik} -d ${PG_DB:-authentik} -f /var/lib/postgresql/backups/authentik.sql
|
||||
````
|
||||
9. After the database is restored, exit the container
|
||||
10. Now it's safe to start the complete application stack again
|
||||
```shell
|
||||
docker compose up -d; docker compose logs -f
|
||||
```
|
||||
|
||||
## Rebuild containers locally
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue