# Updates

Updates von Anwendungen können sowohl direkt mittels **abra**, als auch mit unserem Tool [alakazam](https://git.coopcloud.tech/moritz/alakazam) durchgeführt werden.   
Die von uns verwalteten Recipes (siehe [Installation→Apps](https://wiki.local-it.org/doc/installation-wVp2LfBbg7#h-apps)) aktualisieren wir mindestens alle 3 Monate, bei kritischen Sicherheitsupdates auch häufiger. Um eigene Recipes zu aktualisieren, siehe die [abra-Doku](https://docs.coopcloud.tech/maintainers/handbook/#how-do-i-release-a-new-recipe-version) und tausche dich ggf. mit der [Coop-Cloud Community](https://docs.coopcloud.tech/get-involved/) aus, zu der auch wir zählen.

## **Upgrade mittels abra**

 Stelle sicher, dass du für die Anwendung die du aktualisieren möchtest, ein aktuelles funktionierendes **Backup** hast:

```bash
abra run backup.example.com app backup create
```

Starte das Update: 

```bash
abra app upgrade <APP>.kolli.example.org
```

Wähle nun mit dem Pfeiltasten und Enter die gewünschte Version aus.

Es kann insbesondere bei major-Upgrades notwendig sein, die Config unter `~/.abra/servers/kolli.example.org/app.kolli.example.org.yml` entsprechend der `env.sample` aus dem Recipe anzupassen oder neue Secrets hinzuzufügen.

## Upgrade mittels alakazam

Stelle sicher, dass du für die Anwendung die du aktualisieren möchtest, ein aktuelles funktionierendes **Backup** hast:

```bash
abra run backup.example.com app backup create 
```

Aktualisiere die [kolli-config](https://git.local-it.org/local-it/kolli-config) Dateien, diese enthalten unsere getesteten Versionen:

```bash
cd kolli-config
git pull
```

Auf verfügbare Updates prüfen:  

```bash
alakazam . upgrade -d -r <recipe>
```

*.env*-Configdateien regenerieren: 

```bash
alakazam . config -r <recipe>
```

Configänderungen verifizieren: 

```bash
alakazam . diff -r <recipe>
```

Bei Bedarf neue Secrets generieren: 

```bash
alakazam . secret -r <recipe>
```

Update ausführen:

```bash
alakazam . upgrade -d -r <recipe>
```

Geänderte Configfiles committen:

```bash
alakazam <instance> git -p -m "Upgrade <recipe> from version x to version y"
```

---

**Documents**

- [User:innen Guide](https://wiki.local-it.org/s/kollicloud-wiki/doc/userinnen-guide-zUit9qbRxm)
- [Selfhosting Guide](https://wiki.local-it.org/s/kollicloud-wiki/doc/selfhosting-guide-1xZJt8UIha)
- [Kollektivhosting](https://wiki.local-it.org/s/kollicloud-wiki/doc/kollektivhosting-9uzforQcz4)
- [FAQ zur KolliCloud](https://wiki.local-it.org/s/kollicloud-wiki/doc/faq-zur-kollicloud-1XlLVf5QpO)
- [Technik-Glossar](https://wiki.local-it.org/s/kollicloud-wiki/doc/technik-glossar-mqY0TUfkKy)