Commit 64c3688a authored by Nick Busey's avatar Nick Busey

Adding NextCloud, piHole

parent 4d59ec33
*.retry
myserver
\ No newline at end of file
......@@ -19,21 +19,24 @@ To make it easy for anyone to own all their data in an easy and secure way, with
* Automated Backups (Coming Soon)
* Easy Restore (Coming Soon)
* Dynamic DNS Support (Coming Soon)
* Automated Apple Health Import (Coming Soon)
## Included Software
* [Home Assistant](https://www.home-assistant.io/) - Home Automation
* [Emby](https://emby.media/) - Media Player
* [Grafana](https://grafana.com/) - Pretty Graphs
* [Chronograf](https://www.influxdata.com/time-series-platform/chronograf/) - More pretty graphs. Easy data exploration.
* [InfluxDB](https://www.influxdata.com/time-series-platform/influxdb/) - Time Series Data Storage
* [Telegraf](https://www.influxdata.com/time-series-platform/telegraf/) - Server Statistics Reporting
* Documentation - Offline, searchable documentation via [MkDocs](https://www.mkdocs.org/).
* [Chronograf](https://www.influxdata.com/time-series-platform/chronograf/) - More pretty graphs. Easy data exploration
* [Darksky](http://darksky.net/) - Local weather reported via [darksky-influxdb](https://github.com/ErwinSteffens/darksky-influxdb)
* Documentation - Offline, searchable documentation via [MkDocs](https://www.mkdocs.org/)
* [Emby](https://emby.media/) - Media player
* [Gitea](https://gitea.io/en-US/) - Git hosting
* [Grafana](https://grafana.com/) - Pretty graphs
* [Home Assistant](https://www.home-assistant.io/) - Home Aatomation
* [InfluxDB](https://www.influxdata.com/time-series-platform/influxdb/) - Time series data storage
* [NextCloud](https://nextcloud.com/) - Private Cloud Storage, Calendar, Contacts, LDAP, etc.
* [Pi-hole](https://pi-hole.net/) - Ad blocking
* [Telegraf](https://www.influxdata.com/time-series-platform/telegraf/) - Server statistics reporting
### Coming Soon
* Gogs - Git Hosting
* NextCloud - Private Cloud Storage, Calendar, Contacts, LDAP, etc.
* uTorrent - Torrent Downloader
* BulletNotes - Note taking knowledgebase with kanban and calendar functionality.
......
......@@ -6,16 +6,14 @@ Welcome to HomelabOS! Your very own offline-first open-source data-center!
HomelabOS is a collection of various separate services. You can find links to them below. Several have their own native mobile apps available for integration. Simply point them at the URLs below and they will work.
### [Home Assistant](http://homeassistant.{{ domain }}/)
You can use Home Assistant to automate your home.
[Home Assistant Documentation](https://www.home-assistant.io/docs/)
### [Chronograf](http://chronograf.{{ domain }}/)
### [Emby](http://emby.{{ domain }}/)
Emby is a personal media server. Connect it to a NAS and let it serve all your movies, tv, and music in a Netflix style interface.
### [Gitea](http://git.{{ domain }}/)
### [Grafana](http://grafana.{{ domain }}/)
### [Chronograf](http://chronograf.{{ domain }}/)
\ No newline at end of file
### [Home Assistant](http://homeassistant.{{ domain }}/)
[Home Assistant Documentation](https://www.home-assistant.io/docs/)
\ No newline at end of file
......@@ -11,4 +11,11 @@ common_timezone: 'Etc/UTC'
# Domain that will be used to point at the server
# Must have a DNS A record of `*.yourserver.com` pointing at your server's IP.
domain: yourserver.com
\ No newline at end of file
domain: yourserver.com
# Your DarkSky API Key. Get one at http://darksky.net/dev
darksky_key:
# Your location
latitude:
longitude:
\ No newline at end of file
......@@ -8,11 +8,15 @@
- docs
- docs/docs
- emby
- gitea_db
- grafana
- homeassistant
- influxdb
- nextcloud
- nextcloud_db
- pihole
- pihole/config
- pihole/dnsmasq.d
- telegraf
- traefik
......
version: '3'
services:
homeassistant:
image: homeassistant/home-assistant
volumes:
- /var/homelabos/homeassistant:/config
- /etc/localtime:/etc/localtime:ro
- /etc/letsencrypt:/etc/letsencrypt
chronograf:
image: chronograf
restart: always
links:
- influxdb
ports:
- 8123:8123
- 1883:1883
# - 8080:8080
- 51827:51827
- 8888:8888
environment:
- influxdb-url=http://influxdb:8086
labels:
- "traefik.enable=true"
- "traefik.admin.frontend.rule=Host:chronograf.{{ domain }}"
- "traefik.admin.protocol=http"
- "traefik.admin.port=8888"
darksky-influx:
image: erwinsteffens/darksky-influxdb:latest
restart: always
links:
- influxdb
environment:
- DARKSKY_KEY={{ darksky_key }}
- CRON=0 */2 * * * *
- INFLUXDB_HOST=influxdb
- INFLUXDB_DATABASE=darksky
- DARKSKY_LATITUDE={{ latitude }}
- DARKSKY_LONGITUDE={{ longitude }}
docs:
image: squidfunk/mkdocs-material
volumes:
- /var/homelabos/docs:/docs
ports:
- 8000:8000
labels:
- "traefik.enable=true"
- "traefik.admin.frontend.rule=Host:homeassistant.{{ domain }}"
- "traefik.admin.frontend.rule=Host:docs.{{ domain }}"
- "traefik.admin.protocol=http"
- "traefik.admin.port=8123"
- "traefik.admin.port=8000"
emby:
image: emby/embyserver:latest
network_mode: host
restart: always
volumes:
- /var/homelabos/emby:/config
......@@ -34,26 +55,39 @@ services:
- "traefik.admin.protocol=http"
- "traefik.admin.port=8096"
influxdb:
image: influxdb
restart: always
volumes:
- /var/homelabos/influxdb:/var/lib/influxdb
ports:
- 8086:8086
chronograf:
image: chronograf
gitea:
image: gitea/gitea:latest
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
links:
- influxdb
- gitea_db:db
volumes:
- ./gitea:/data
ports:
- 8888:8888
- "3030:3000"
- "222:22"
depends_on:
- gitea_db
labels:
- "traefik.enable=true"
- "traefik.admin.frontend.rule=Host:chronograf.{{ domain }}"
- "traefik.admin.frontend.rule=Host:git.{{ domain }}"
- "traefik.admin.protocol=http"
- "traefik.admin.port=8888"
- "traefik.admin.port=3000"
gitea_db:
image: mariadb
restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
volumes:
- /var/homelabos/gitea_db:/var/lib/mysql
grafana:
image: grafana/grafana
......@@ -72,6 +106,76 @@ services:
- "traefik.admin.protocol=http"
- "traefik.admin.port=3000"
homeassistant:
image: homeassistant/home-assistant
volumes:
- /var/homelabos/homeassistant:/config
- /etc/localtime:/etc/localtime:ro
- /etc/letsencrypt:/etc/letsencrypt
restart: always
ports:
- 8123:8123
- 1883:1883
# - 8080:8080
- 51827:51827
links:
- influxdb
labels:
- "traefik.enable=true"
- "traefik.admin.frontend.rule=Host:homeassistant.{{ domain }}"
- "traefik.admin.protocol=http"
- "traefik.admin.port=8123"
influxdb:
image: influxdb
restart: always
volumes:
- /var/homelabos/influxdb:/var/lib/influxdb
ports:
- 8086:8086
nextcloud:
image: nextcloud
restart: always
ports:
- 8181:80
links:
- nextcloud_db
volumes:
- /var/homelabos/nextcloud:/var/www/html
restart: always
labels:
- "traefik.enable=true"
- "traefik.admin.frontend.rule=Host:nextcloud.{{ domain }}"
- "traefik.admin.protocol=http"
- "traefik.admin.port=80"
nextcloud_db:
image: mariadb
restart: always
volumes:
- /var/homelabos/nextcloud_db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=nextcloud
- MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
pihole:
image: diginc/pi-hole:latest
restart: always
volumes:
- /var/homelabos/pihole/config:/etc/pihole/
- /var/homelabos/pihole/dnsmasq.d:/etc/dnsmasq.d/"
labels:
- "traefik.enable=true"
- "traefik.admin.frontend.rule=Host:pihole.{{ domain }}"
- "traefik.admin.protocol=http"
- "traefik.admin.port=80"
telegraf:
image: telegraf
restart: always
......@@ -103,14 +207,4 @@ services:
- "traefik.frontend.rule=Host:whoami.docker.localhost"
- "traefik.frontend.rule=PathPrefixStrip:/test"
docs:
image: squidfunk/mkdocs-material
volumes:
- /var/homelabos/docs:/docs
ports:
- 8000:8000
labels:
- "traefik.enable=true"
- "traefik.admin.frontend.rule=Host:docs.{{ domain }}"
- "traefik.admin.protocol=http"
- "traefik.admin.port=8000"
\ No newline at end of file
[homelabos]
192.168.1.167
myserver
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment