A personal, self-hosted home server stack – built for my needs and fun.
This project is a personal hobby setup created for my own home environment. It is not production-ready and may contain experimental or incomplete features. Use it at your own risk, and adapt it carefully if you plan to run it in your own environment.
- HomeBox – Manage and track your home inventory.
- Plex Media Server – Stream and organize your media library.
- OpenSearch – Centralize, search, and analyze your logs and data.
- PostgreSQL – A robust relational database for HomeBox and other applications.
- FluentBit – Collects Docker container logs and forwards them to OpenSearch for centralized log management.
- nginx – A HTTP server acting as a reverse proxy to route traffic to the applications
running on different ports based on the requested local domain (e.g.,
homebox.home.local,plex.home.local).
- Home Assistant – Automate and control your smart home and IoT devices.
- AppDaemon – Extend Home Assistant with custom apps.
- Grafana – Visualize and monitor your data.
- Backup & archival tools – Securely store your data with private, self-hosted backups.
- Synchronization solutions – Envision seamless connections across major cloud ecosystems such as Apple iCloud, Google, and Microsoft Office.
- Personal finance management tool – Explore ways to track your financial status, manage accounts, and organize spending.
- Personal weather station – Measure local temperature, rainfall, wind, and other conditions; share your data with larger weather networks or platforms.
The platform is fully containerized using Docker Compose, making it easy to deploy and manage as a single unit. It relies on open-source and free solutions, ensuring flexibility and transparency. With minimal configuration, the system can be started and run effortlessly, providing a cohesive home server environment.
- A Linux-like operating system (e.g., Ubuntu, macOS, etc.)
- Docker and Docker Compose
-
Clone the Repository
git clone https://github.com/mihaly-farkas/home-ecosystem.git cd home-ecosystem -
Set up environment variables by copying the example file and modifying it as needed:
cp .env.example .env
Be aware that Plex requires a temporary claim token for the initial setup. See the instructions in the
.envfile comments. -
Start the Home Ecosystem stack:
bin/start
-
Set up Plex using the direct IP address of your server (e.g., http://127.0.0.1:32400/web) for the initial configuration - it won't work if you try to access it through the nginx proxy until after the first setup.
-
Edit your
/etc/hostsfile (or equivalent) to map the local domains to your server's IP address:127.0.0.1 homebox.home.local 127.0.0.1 plex.home.local 127.0.0.1 opensearch.home.local
bin/startAfter the containers are up and running, you can access the services using the following URLs:
- HomeBox: http://homebox.home.local
- Plex Media Server: http://plex.home.local
- OpenSearch: http://opensearch.home.local
bin/stopbin/backup-postgresThis project is licensed under the MIT License.
