- Added new components for managing services, including creation, editing, and listing.
- Introduced stack management functionalities, allowing users to create, edit, and view stacks.
- Implemented user management features, enabling user creation, editing, and listing.
- Enhanced volume management with create and info functionalities.
- Integrated network management capabilities, including listing and viewing networks.
- Developed task management features for viewing and listing tasks.
- Added support for Docker registry interactions, including authentication and repository management.
- Implemented error handling and user feedback mechanisms throughout the application.
- Established a robust routing system for navigating between different components and views.
- Enhanced the overall user experience with improved UI components and state management.
Update the readme.md file for the Oracle Homelab directory to remove a trailing newline character. This is a minor formatting adjustment to maintain file consistency.
This commit introduces a readme.md file to the Oracle Homelab directory to provide an overview of the repository's purpose. The documentation clarifies that the directory contains Docker Compose configurations for services hosted on Oracle Cloud Infrastructure and provides a link to the primary git repository.
Restructures the project by moving all application-specific docker-compose.yml
files into a new `Local Homelab/` parent directory.
This change improves overall project organization and provides a clear
logical grouping for local homelab-related service configurations.
Affected files:
- `homeassistant/docker-compose.yml`
- `monitoring/docker-compose.yml`
- `teslamate/docker-compose.yml`
All are now located under `Local Homelab/<service>/docker-compose.yml`.
Replaced Docker secrets with direct environment variable assignments for `ENCRYPTION_KEY`, `DATABASE_PASS`, and `POSTGRES_PASSWORD` in the `docker-compose.yml` file.
This change simplifies the deployment by removing the dependency on Docker secrets for these values, opting for hardcoded strings instead. The `secrets` section has been removed from all relevant services (teslamate, database, grafana, mosquitto).
The Teslamate internal network definition in `docker-compose.yml` has been updated.
The network was renamed from `teslamate-internal` to `teslamate`.
It was also changed from an internally defined `overlay` network to an `external: true` network.
This change allows Teslamate to connect to a pre-existing or centrally managed Docker network, improving integration with other services or a Docker Swarm environment.
Enabled port mappings for Teslamate, Grafana, and Mosquitto services to make them accessible from the host.
Renamed the internal Docker network from `teslamate-internal` to `teslamate` for consistency. Removed the `pangolin-home` external network from service definitions and its declaration, as it is no longer required.
Simplified volume definitions by removing explicit `driver: local` and `driver_opts`. This transitions volumes from specific host bind mounts to Docker-managed named volumes, improving portability and simplifying management.
Added `driver: local` to the `teslamate-grafana-data`, `mosquitto-conf`,
and `mosquitto-data` volume definitions in `docker-compose.yml`.
This change explicitly specifies the local volume driver for these
bind-mounted volumes, improving clarity and ensuring consistent behavior
within the Docker environment.
Adds `driver: local` to the `teslamate-db` volume definition in `docker-compose.yml`.
This change explicitly declares the volume driver, improving clarity and ensuring consistent behavior for the bind mount. While `local` is often the default when `driver_opts` are used for bind mounts, explicit declaration removes ambiguity and makes the configuration more robust.
Replaced direct host path volume mounts with named volumes for the Teslamate database, Grafana data, and Mosquitto configuration and data.
This change centralizes the definition of host bind mounts for persistent data by using Docker named volumes with `driver_opts` set to `type: none` and `o: bind`. This improves consistency and manageability of volume definitions within the `docker-compose.yml` file.
Additionally, the import volume path for the `teslamate` service was adjusted from `/mnt/docker/home/teslamate/data/import` to `/mnt/docker/home/teslamate/import`.
This commit introduces a new `docker-compose.yml` file to set up a basic monitoring infrastructure.
It includes services for:
- Prometheus: For metrics collection and storage.
- Alertmanager: For handling and routing alerts.
- Grafana: For data visualization and dashboarding.
This setup provides a foundational stack for observing system health and performance.
The external network name for Teslamate was updated from `teslamate-internal`
to `teslamate_teslamate-internal` in the Home Assistant docker-compose.yml.
This change ensures Home Assistant correctly connects to the Teslamate
internal network, aligning with Docker Compose's default naming convention
for networks created by other Compose projects.
Introduces `komodo/compose.env` to provide a centralized and comprehensive set of environment variables for configuring Komodo Core and Periphery services. This file simplifies Docker Compose deployments by offering pre-defined variables for database, security, monitoring, authentication (local, OIDC, OAuth), and AWS integrations, complete with inline documentation and links to full variable lists.
This commit introduces the `docker-compose.yml` file for deploying Home Assistant.
The configuration defines the `homeassistant` service using the `linuxserver/homeassistant` image. It sets up:
- Persistent data storage at `/mnt/docker/home/homeassistant/data`.
- Environment variables for user IDs (PUID, PGID) and timezone.
- Required capabilities (`NET_ADMIN`, `NET_RAW`) for network functionality.
- Integration with existing `pangolin-home` and `teslamate-internal` external networks.
This allows for easy deployment and management of the Home Assistant instance.
The `teslamate` service in `docker-compose.yml` has been updated to pull its image from `teslamate/teslamate:latest` on Docker Hub. This change simplifies the image reference and ensures consistency with the primary distribution channel.
The official Teslamate Docker images have migrated from Docker Hub to
GitHub Container Registry (GHCR). This update ensures that the
`docker-compose.yml` pulls the Teslamate image from the correct and
official source.
The teslamate service in `docker-compose.yml` has been configured to join the `pangolin-home` network. This change enables communication between Teslamate and other services within the `pangolin-home` network, facilitating better integration with existing home infrastructure.
Changed the syntax for defining environment variables in the Teslamate
docker-compose.yml from `KEY=VALUE` to `KEY: VALUE`.
This update aligns with idiomatic YAML syntax, improving consistency and
readability across the configuration file. It also helps prevent potential
parsing issues that could arise if environment variable values contained
equal signs or other special characters.