# From Mycroft and Ansible to OpenVoiceOS: boring installs, easy updates

**URL:** https://community.openconversational.ai/t/from-mycroft-and-ansible-to-openvoiceos-boring-installs-easy-updates/22031
**Category:** OpenVoiceOS's Voice AI Platform
**Tags:** ovos-installer, ovos, mycroft
**Created:** [February 12, 2026, 11:52am UTC](https://community.openconversational.ai/t/from-mycroft-and-ansible-to-openvoiceos-boring-installs-easy-updates/22031 "2026-02-12T11:52:00Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![goldyfruit](https://community.openconversational.ai/user_avatar/community.openconversational.ai/goldyfruit/32/2741_2.png) [@goldyfruit](https://community.openconversational.ai/u/goldyfruit)
#### Post date: [February 12, 2026, 11:52am UTC](https://community.openconversational.ai/t/from-mycroft-and-ansible-to-openvoiceos-boring-installs-easy-updates/22031/1 "2026-02-12T11:52:00Z")

</div>

_Originally posted here; [From Mycroft and Ansible to OpenVoiceOS: boring installs, easy updates](https://dev.to/goldyfruit/from-mycroft-and-ansible-to-openvoiceos-boring-installs-easy-updates-11cl)_

* * *

A few years ago, I wrote an [opensource.com](http://opensource.com) post about deploying **Mycroft** on a Raspberry Pi using **Ansible**. The fun part was voice control; the _useful_ part was making the whole thing reproducible—because voice assistants are a stack, and stacks don’t forgive “hand-installed on a good day” setups. ([Opensource.com](https://opensource.com/article/21/12/mycroft-raspberry-pi-ansible "Deploy Mycroft AI voice assistant on Raspberry Pi using Ansible | Opensource.com"))

Since then, the Mycroft ecosystem went through a very public reality check. In February 2023, Mycroft’s CEO explained that without immediate new investment they would have to **cease development**. ([Open Source Conversational AI Community](https://community.openconversational.ai/t/update-from-the-ceo-part-1/13268 "Update from the CEO: Part 1 - General Discussion - Open Source Conversational AI Community"))  
By February 2024, community members were also confirming that **servers associated with `mycroft.ai` were down** —the kind of event that turns “my assistant is quirky” into “my assistant is suddenly unemployed.” ([Open Source Conversational AI Community](https://community.openconversational.ai/t/is-the-mycroft-server-gone-for-good-or-just-down/14212 "Is the Mycroft Server gone for good, or just down? - News - Open Source Conversational AI Community"))

Open voice assistants didn’t disappear, though. The community kept building, and **OpenVoiceOS (OVOS)** matured into a platform you can run across devices—with a focus on privacy, security, and customization. ([Open Voice OS](https://www.openvoiceos.org/ "Home"))

I’m writing this one as the author of **`ovos-installer`** and **`ovos-docker`**. Those projects exist for a simple reason:

**I wanted OVOS installs and upgrades to be boring.**  
Boring means repeatable, automatable, supportable—and much easier to enjoy.

* * *

## What is OpenVoiceOS?

OVOS is a community-driven, open-source voice AI platform designed for building custom voice-controlled interfaces across devices. ([Open Voice OS](https://www.openvoiceos.org/ "Home"))  
It also answers a question I get a lot: _“Is this still related to Mycroft?”_ The OVOS FAQ explains that OVOS started as **MycroftOS** , was renamed to avoid trademark issues, and evolved toward maintaining its own enhanced reference fork while keeping compatibility goals in mind. ([Open Voice OS](https://www.openvoiceos.org/ "Home"))

A detail that matters operationally: OVOS is designed so that **`ovos-core` does not require a backend internet server to operate by default** , although your choice of STT/TTS plugins and skills can still require network connectivity. ([Open Voice OS](https://www.openvoiceos.org/ "Home"))

* * *

## Pick your “deployment personality”

OVOS keeps the choice simple: **Docker** or **Python**. ([Open Voice OS](https://www.openvoiceos.org/ "Home"))

- **Python virtual environment** is great if you want to develop, tweak, and stay closer to the system.
- **Containers** are great if you want stability, isolation, and an update path that doesn’t involve solving dependency archaeology.

OVOS explicitly presents those as the two main install approaches. ([Open Voice OS](https://www.openvoiceos.org/ "Home"))

* * *

## Install OVOS with ovos-installer

The OVOS downloads page points laptop/desktop users (and anyone installing “on top of an existing OS”) toward the installer, noting it supports major Linux distributions and Raspberry Pi 3/4/5. ([Open Voice OS](https://www.openvoiceos.org/downloads "Downloads"))

`ovos-installer` is an OVOS (and optionally HiveMind) installer for Linux. It supports interactive installs, scenario-based automation, and optional container deployment. ([GitHub](https://github.com/OpenVoiceOS/ovos-installer "GitHub - OpenVoiceOS/ovos-installer: Open Voice OS and/or HiveMind installer using Ansible with an intuitive and easy Text-based User Interface"))

### Quickstart

Prereqs are intentionally basic: `curl`, `git`, and `sudo`. ([GitHub](https://github.com/OpenVoiceOS/ovos-installer "GitHub - OpenVoiceOS/ovos-installer: Open Voice OS and/or HiveMind installer using Ansible with an intuitive and easy Text-based User Interface"))

```bash
sudo sh -c "$(curl -fsSL https://raw.githubusercontent.com/OpenVoiceOS/ovos-installer/main/installer.sh)"

```

If you prefer to inspect before running (recommended when you’re wearing your “operator” hat), the README explicitly suggests downloading the script first, reviewing it, then executing it. ([GitHub](https://github.com/OpenVoiceOS/ovos-installer "GitHub - OpenVoiceOS/ovos-installer: Open Voice OS and/or HiveMind installer using Ansible with an intuitive and easy Text-based User Interface"))

A small but important ops detail: the installer targets a supported Python runtime in its virtualenv (defaulting to **Python 3.11** ) and uses `uv` to provision it when needed. ([GitHub](https://github.com/OpenVoiceOS/ovos-installer "GitHub - OpenVoiceOS/ovos-installer: Open Voice OS and/or HiveMind installer using Ansible with an intuitive and easy Text-based User Interface"))

* * *

## Automate installs with scenario.yaml

This is where the Ansible brain kicks in.

`ovos-installer` supports **non-interactive installs** via a scenario file:

`~/.config/ovos-installer/scenario.yaml` ([GitHub](https://github.com/OpenVoiceOS/ovos-installer "GitHub - OpenVoiceOS/ovos-installer: Open Voice OS and/or HiveMind installer using Ansible with an intuitive and easy Text-based User Interface"))

A minimal example (container method, default skills, Pi tuning enabled) looks like this:

```yaml
---
uninstall: false
method: containers
channel: testing
profile: ovos
features:
  skills: true
  extra_skills: false
raspberry_pi_tuning: true

```

The README documents the meaning of these keys (including the `uninstall` flag and the available install methods). ([GitHub](https://github.com/OpenVoiceOS/ovos-installer "GitHub - OpenVoiceOS/ovos-installer: Open Voice OS and/or HiveMind installer using Ansible with an intuitive and easy Text-based User Interface"))

Fun footnote: yes, it’s YAML—but it’s YAML with purpose, and it’s the kind you can keep in git without waking up in a cold sweat later.

* * *

## Run OVOS in containers with ovos-docker

For container deployments, `ovos-docker` provides container images and compose bundles for OVOS across `x86_64` and `aarch64`. ([GitHub](https://github.com/OpenVoiceOS/ovos-docker "GitHub - OpenVoiceOS/ovos-docker: Open Voice OS container images and docker-compose.yml files for x86\_64 and aarch64 CPU architectures."))

If you’ve ever tried to explain to someone why “a voice assistant is actually a dozen services,” OVOS’ own blog makes the container case clearly: running OVOS micro-services in containers improves isolation, and makes the platform easier to manage and update. ([OpenVoiceOS Blog](https://blog.openvoiceos.org/posts/2023-05-02-openvoiceos-now-available-on-containers "OpenVoiceOS now available on containers | OpenVoiceOS Blog"))

The container docs walk through a standard flow (clone the repo, create directories, run the compose bundles). For example, the docs show cloning the sources and working from the `compose/` directory. ([Open Voice OS](https://openvoiceos.github.io/ovos-docker/getting-started/docker/installation/requirements/ "Requirements - Open Voice OS Container Documentation"))

```bash
git clone https://github.com/OpenVoiceOS/ovos-docker.git ~/ovos-docker
cd ~/ovos-docker/compose

```

* * *

## The easy way to update your current OVOS instance

This is the part I wanted to make _delightfully uneventful_.

### Update a virtualenv/systemd install

`ovos-installer` documents a very straightforward update path:

1. Optionally back up your configuration (`~/.config/mycroft/mycroft.conf` or `~/ovos/config/mycroft.conf`)
2. Re-run the installer
3. When prompted, answer **“No”** to: _“Do you want to uninstall Open Voice OS?”_ ([GitHub](https://github.com/OpenVoiceOS/ovos-installer "GitHub - OpenVoiceOS/ovos-installer: Open Voice OS and/or HiveMind installer using Ansible with an intuitive and easy Text-based User Interface"))

That’s it. No bespoke “upgrade script,” no guessing which dependency set is current—just re-run the tool that knows how to converge the system.

### Update a container stack

The OVOS container documentation is equally blunt (and I mean that as a compliment):

- To update the deployed stack, use the **exact same command** you used when you initially deployed it. ([Open Voice OS](https://openvoiceos.github.io/ovos-docker/getting-started/docker/update/ "Update Open Voice OS - Open Voice OS Container Documentation"))
- Because each service is configured with `pull_policy: always`, when a new image is published with the same tag, `docker compose` (or `podman-compose`) will pull it and recreate the container. ([Open Voice OS](https://openvoiceos.github.io/ovos-docker/getting-started/docker/update/ "Update Open Voice OS - Open Voice OS Container Documentation"))

Example commands (from the docs) show typical bundles; the important part is the “same command” rule and using your bundle set consistently. ([Open Voice OS](https://openvoiceos.github.io/ovos-docker/getting-started/docker/update/ "Update Open Voice OS - Open Voice OS Container Documentation"))

If you want to change which image tag/version you deploy, update the `.env` file accordingly; the docs also note that the `alpha` tag images are rebuilt nightly from the `dev` branch. ([Open Voice OS](https://openvoiceos.github.io/ovos-docker/getting-started/docker/update/ "Update Open Voice OS - Open Voice OS Container Documentation"))

* * *

## Closing: keep the fun, remove the pain

My 2021 Mycroft + Ansible post was basically an attempt to make an open voice assistant “liveable” as infrastructure. ([Opensource.com](https://opensource.com/article/21/12/mycroft-raspberry-pi-ansible "Deploy Mycroft AI voice assistant on Raspberry Pi using Ansible | Opensource.com"))  
OVOS is the continuation of that idea, and `ovos-installer` + `ovos-docker` are my contribution to the unglamorous part: installs, updates, and repeatability.

Because once installation stops being a boss fight, you can get back to the fun stuff—like making your house respond to voice commands **without** renting space in someone else’s cloud.

* * *

## Resources

- My earlier [opensource.com](http://opensource.com) post on Mycroft + Ansible ([Opensource.com](https://opensource.com/article/21/12/mycroft-raspberry-pi-ansible "Deploy Mycroft AI voice assistant on Raspberry Pi using Ansible | Opensource.com"))
- OVOS project overview + FAQ (Docker vs Python, offline notes, background) ([Open Voice OS](https://www.openvoiceos.org/ "Home"))
- OVOS downloads page (installer recommendation and supported devices) ([Open Voice OS](https://www.openvoiceos.org/downloads "Downloads"))
- `ovos-installer` README (install + **update** guidance) ([GitHub](https://github.com/OpenVoiceOS/ovos-installer "GitHub - OpenVoiceOS/ovos-installer: Open Voice OS and/or HiveMind installer using Ansible with an intuitive and easy Text-based User Interface"))
- OVOS container docs: **Update Open Voice OS** ([Open Voice OS](https://openvoiceos.github.io/ovos-docker/getting-started/docker/update/ "Update Open Voice OS - Open Voice OS Container Documentation"))
- OVOS blog note on why containers help manage/update a micro-service stack ([OpenVoiceOS Blog](https://blog.openvoiceos.org/posts/2023-05-02-openvoiceos-now-available-on-containers "OpenVoiceOS now available on containers | OpenVoiceOS Blog"))

---

<div class="post-metadata">

### Author: ![burns](https://community.openconversational.ai/letter_avatar_proxy/v4/letter/b/e9a140/32.png) [@burns](https://community.openconversational.ai/u/burns)
#### Post date: [February 12, 2026, 10:21pm UTC](https://community.openconversational.ai/t/from-mycroft-and-ansible-to-openvoiceos-boring-installs-easy-updates/22031/2 "2026-02-12T22:21:17Z")

</div>

Hi and thanks for both posting this and especially sending it out to some email list that I was on. I got a MyCroft Mk2 just before they went under but wrote a skill or 2 for PyCroft and then kind of gave up. Sounds like it might be worth trying again. Would the Mycroft hardware work still? Could the Mycroft pi be replace with a Pi5? Thanks!
