{"id":16792769,"url":"https://github.com/postlund/hassio-compose","last_synced_at":"2025-07-13T15:42:17.070Z","repository":{"id":99779964,"uuid":"184606088","full_name":"postlund/hassio-compose","owner":"postlund","description":"Hass.io with docker-compose","archived":false,"fork":false,"pushed_at":"2020-02-27T20:14:19.000Z","size":8,"stargazers_count":94,"open_issues_count":5,"forks_count":30,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-02-27T17:16:36.722Z","etag":null,"topics":["docker","docker-compose","home-assistant"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/postlund.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-02T15:30:01.000Z","updated_at":"2025-01-21T20:10:30.000Z","dependencies_parsed_at":"2023-03-13T15:45:39.978Z","dependency_job_id":null,"html_url":"https://github.com/postlund/hassio-compose","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postlund%2Fhassio-compose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postlund%2Fhassio-compose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postlund%2Fhassio-compose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postlund%2Fhassio-compose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postlund","download_url":"https://codeload.github.com/postlund/hassio-compose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243841204,"owners_count":20356441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","home-assistant"],"created_at":"2024-10-13T08:47:03.562Z","updated_at":"2025-03-17T03:30:39.078Z","avatar_url":"https://github.com/postlund.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hass.io with docker-compose\n\nThis is a simple docker compose file to run a full Hass.io system using\n`docker-compose`. The motivation for doing so is to avoid having to install\nadditional packages on the host system. Also, in order to simplify installation\non plain container OSes, like Container OS or RancherOS. It comes with a few\nlimitations however, make sure to read about them below.\n\n## Caveats and limitations\n\nNothing is perfect, so here are few general things you need to know:\n\n* Currently only for x86_64 hosts (based on `qemux86-64-homeassistant`)\n* AppArmor not supported (maybe later)\n* You will get an error regarding *rauc* during startup ([you can ignore it](https://github.com/home-assistant/hassio/issues/560))\n* Since HassOS is not used, upgrade of OS is not supported (related to point above)\n\nThe supervisor in particular has a few quriks:\n\n* As it launches containers dynamically (e.g. homeassistant and all the addons),\n  `docker-compose` will not be aware of these containers and cannot mange them\n  them (e.g. stop or remove them)\n* It is designed to run on a system where no one can mess with docker. It will\n  restart containers that crash, but if a container is manually stopped or removed\n  (whilst the supervisor is running), it will treat that as a non-error and do nothing.\n  So if you fiddle with the containers, you are on your down!\n* It keeps track of the last system boot. So\n  if you restart only the supervisor, it will realize that and skip doing things\n  (like re-creating containers). I found this to be a bit annoying, so the last\n  boot tag is reset every time the supervisor is restarted. This makes sure that\n  containers are re-created properly with the sacrifice of a tad slower startup\n  time and maybe a few warnings about containers already running (that can be\n  safely ignored). Just be aware of this.\n\nOther things, like installing addons, upgrading Home Assistant and dealing with\nsnapshots works correctly though :blush:\n\n## Installation\n\n1. Install `docker-compose` according to your operating system, e.g. `apt-get` or\n`pip install docker-compose` in a virtual environment.\n\n2. Clone this repository:\n\n```shell\n$ git clone https://github.com/postlund/hassio-compose.git\n```\n\n3. Create a `.env` file with `SUPERVISOR_SHARE` pointing to the directory where\nyou want to store all configuration data. __THIS MUST BE AN ABSOLUTE PATH!!!!__\n\n```shell\n$ cd hassio-compose\n$ echo \"SUPERVISOR_SHARE=/home/$USER/hassio-config\" \u003e .env\n```\n\n4. Start Hass.io using `docker-compose`:\n\n```shell\n$ docker-compose up\nRecreating hassio_supervisor ... done\nAttaching to hassio_supervisor\nhassio_supervisor | Resetting last boot...\nhassio_supervisor | Starting hassio...\nhassio_supervisor | 19-05-02 14:29:00 INFO (MainThread) [__main__] Initialize Hass.io setup\nhassio_supervisor | 19-05-02 14:29:00 INFO (MainThread) [__main__] Setup HassIO\nhassio_supervisor | 19-05-02 14:29:00 INFO (SyncWorker_0) [hassio.docker.supervisor] Attach to Supervisor homeassistant/amd64-hassio-supervisor with version 162\nhassio_supervisor | 19-05-02 14:29:00 INFO (SyncWorker_0) [hassio.docker.supervisor] Connect Supervisor to Hass.io Network\nhassio_supervisor | 19-05-02 14:29:00 INFO (MainThread) [hassio.utils.gdbus] Introspect org.freedesktop.systemd1 on /org/freedesktop/systemd1\nhassio_supervisor | 19-05-02 14:29:00 INFO (MainThread) [hassio.utils.gdbus] Connect to dbus: org.freedesktop.systemd1 - /org/freedesktop/systemd1\nhassio_supervisor | 19-05-02 14:29:00 INFO (MainThread) [hassio.utils.gdbus] Introspect org.freedesktop.hostname1 on /org/freedesktop/hostname1\nhassio_supervisor | 19-05-02 14:29:01 INFO (MainThread) [hassio.utils.gdbus] Connect to dbus: org.freedesktop.hostname1 - /org/freedesktop/hostname1\nhassio_supervisor | 19-05-02 14:29:01 INFO (MainThread) [hassio.utils.gdbus] Introspect de.pengutronix.rauc on /\nhassio_supervisor | 19-05-02 14:29:01 ERROR (MainThread) [hassio.utils.gdbus] DBus return error: b'Error: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name de.pengutronix.rauc was not provided by any .service files\\n'\nhassio_supervisor | 19-05-02 14:29:01 WARNING (MainThread) [hassio.dbus.rauc] Can't connect to rauc\nhassio_supervisor | 19-05-02 14:29:01 INFO (MainThread) [hassio.host.info] Update local host information\nhassio_supervisor | 19-05-02 14:29:01 INFO (MainThread) [hassio.utils.gdbus] Call org.freedesktop.DBus.Properties.GetAll on /org/freedesktop/hostname1\nhassio_supervisor | 19-05-02 14:29:01 INFO (MainThread) [hassio.host.services] Update service information\nhassio_supervisor | 19-05-02 14:29:01 INFO (MainThread) [hassio.utils.gdbus] Call org.freedesktop.systemd1.Manager.ListUnits on /org/freedesktop/systemd1\nhassio_supervisor | 19-05-02 14:29:01 INFO (MainThread) [hassio.host.apparmor] Load AppArmor Profiles: set()\nhassio_supervisor | 19-05-02 14:29:01 INFO (MainThread) [hassio.host.apparmor] AppArmor is not enabled on host\nhassio_supervisor | 19-05-02 14:29:01 INFO (SyncWorker_2) [hassio.docker.interface] Attach to homeassistant/qemux86-64-homeassistant with version 0.92.1\nhassio_supervisor | 19-05-02 14:29:01 INFO (MainThread) [hassio.addons.git] Load add-on /data/addons/core repository\nhassio_supervisor | 19-05-02 14:29:01 INFO (MainThread) [hassio.addons.git] Load add-on /data/addons/git/a0d7b954 repository\nhassio_supervisor | 19-05-02 14:29:01 INFO (MainThread) [hassio.addons] Load add-ons: 57 all - 57 new - 0 remove\nhassio_supervisor | 19-05-02 14:29:01 INFO (MainThread) [hassio.updater] Fetch update data from https://s3.amazonaws.com/hassio-version/stable.json\nhassio_supervisor | 19-05-02 14:29:02 INFO (MainThread) [hassio.snapshots] Found 0 snapshot files\nhassio_supervisor | 19-05-02 14:29:02 INFO (MainThread) [hassio.discovery] Load 0 messages\nhassio_supervisor | 19-05-02 14:29:02 INFO (MainThread) [hassio.ingress] Load 0 ingress session\nhassio_supervisor | 19-05-02 14:29:02 INFO (MainThread) [__main__] Run Hass.io\nhassio_supervisor | 19-05-02 14:29:02 INFO (MainThread) [hassio.misc.dns] Start DNS port forwarding for host add-ons\nhassio_supervisor | 19-05-02 14:29:02 INFO (MainThread) [hassio.api] Start API on 172.30.32.2\nhassio_supervisor | 19-05-02 14:29:02 INFO (MainThread) [hassio.addons] Startup initialize run 0 add-ons\nhassio_supervisor | 19-05-02 14:29:02 INFO (MainThread) [hassio.addons] Startup system run 0 add-ons\nhassio_supervisor | 19-05-02 14:29:02 INFO (MainThread) [hassio.addons] Startup services run 0 add-ons\nhassio_supervisor | 19-05-02 14:29:02 INFO (SyncWorker_2) [hassio.docker.interface] Restart homeassistant/qemux86-64-homeassistant\nhassio_supervisor | 19-05-02 14:29:17 INFO (MainThread) [hassio.homeassistant] Detect a running Home Assistant instance\nhassio_supervisor | 19-05-02 14:29:17 INFO (MainThread) [hassio.addons] Startup application run 0 add-ons\nhassio_supervisor | 19-05-02 14:29:17 INFO (MainThread) [hassio.tasks] All core tasks are scheduled\nhassio_supervisor | 19-05-02 14:29:17 INFO (MainThread) [hassio.core] Hass.io is up and running\n```\n\n5. Integrate with however you run your docker instances (out of scope)\n\n## Tips \u0026 tricks\n\n### Stopping Containers\n\nTo stop the supervisor, just run:\n\n```shell\n$ docker-compose down\n```\n\nThis will not stop Home Assistant or any addons. To do that, run:\n\n```shell\n$ docker stop homeassistant\n$ docker ps | grep \" addon_\" | cut -f 1 -d ' ' | xargs docker stop\n```\n\n### Removing Containers\n\nTo remove the containers (stop them first), just do:\n\n```shell\n$ docker-compose rm\n$ docker ps | grep \" addon_\" | cut -f 1 -d ' ' | xargs docker rm\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpostlund%2Fhassio-compose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpostlund%2Fhassio-compose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpostlund%2Fhassio-compose/lists"}