mirror of
https://github.com/davestephens/ansible-nas
synced 2024-12-25 11:03:07 +00:00
Merge branch 'bcurran3-netbootxyz----addition'
This commit is contained in:
commit
d7269797af
6 changed files with 80 additions and 1 deletions
|
@ -29,6 +29,7 @@ Ansible config and a bunch of Docker containers.
|
||||||
* Content management with Joomla
|
* Content management with Joomla
|
||||||
* A dual panel local file manager
|
* A dual panel local file manager
|
||||||
* Self-service media request web application
|
* Self-service media request web application
|
||||||
|
* A PXE server to boot OS images over the network
|
||||||
|
|
||||||
### Available Applications
|
### Available Applications
|
||||||
|
|
||||||
|
@ -64,6 +65,7 @@ Ansible config and a bunch of Docker containers.
|
||||||
* [Mylar](https://github.com/evilhero/mylar) - An automated Comic Book downloader (cbr/cbz) for use with SABnzbd, NZBGet and torrents
|
* [Mylar](https://github.com/evilhero/mylar) - An automated Comic Book downloader (cbr/cbz) for use with SABnzbd, NZBGet and torrents
|
||||||
* [MyMediaForAlexa](https://www.mymediaalexa.com/) - Lets you stream your music collection to your alexa device
|
* [MyMediaForAlexa](https://www.mymediaalexa.com/) - Lets you stream your music collection to your alexa device
|
||||||
* [n8n](https://n8n.io") - Nodemation, a node based workflow and automation service like IFTTT.
|
* [n8n](https://n8n.io") - Nodemation, a node based workflow and automation service like IFTTT.
|
||||||
|
* [netboot.xyz](https://netboot.xyz/) - a PXE boot server
|
||||||
* [Netdata](https://my-netdata.io/) - An extremely comprehensive system monitoring solution
|
* [Netdata](https://my-netdata.io/) - An extremely comprehensive system monitoring solution
|
||||||
* [Nextcloud](https://nextcloud.com/) - A self-hosted Dropbox alternative
|
* [Nextcloud](https://nextcloud.com/) - A self-hosted Dropbox alternative
|
||||||
* [NZBget](https://nzbget.net/) - The most efficient usenet downloader
|
* [NZBget](https://nzbget.net/) - The most efficient usenet downloader
|
||||||
|
|
15
docs/applications/netbootxyz.md
Normal file
15
docs/applications/netbootxyz.md
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
|
||||||
|
# netboot.xyz
|
||||||
|
|
||||||
|
Homepage: [https://netboot.xyz/](https://netboot.xyz/)
|
||||||
|
Docker Container: [https://hub.docker.com/r/linuxserver/netbootxyz](https://hub.docker.com/r/linuxserver/netbootxyz)
|
||||||
|
|
||||||
|
netboot.xyz is a way to PXE boot various operating system installers or utilities from one place within the BIOS without the need of having to go retrieve the media to run the tool. [iPXE](https://ipxe.org/) is used to provide a user friendly menu from within the BIOS that lets you easily choose the operating system you want along with any specific types of versions or bootable flags.
|
||||||
|
|
||||||
|
You can remote attach the ISO to servers, set it up as a rescue option in Grub, or even set up your home network to boot to it by default so that it's always available.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Set `netbootxyz_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||||
|
|
||||||
|
The netbooxyz web interface can be found at http://ansible_nas_host_or_ip:3002.
|
|
@ -46,6 +46,9 @@ By default, applications can be found on the ports listed below.
|
||||||
| n8n | 5678 | Bridge | HTTP |
|
| n8n | 5678 | Bridge | HTTP |
|
||||||
| Netdata | 19999 | Bridge | HTTP |
|
| Netdata | 19999 | Bridge | HTTP |
|
||||||
| Nextcloud | 8080 | Bridge | HTTP |
|
| Nextcloud | 8080 | Bridge | HTTP |
|
||||||
|
| netbootxyz | 3002 | Bridge | HTTP |
|
||||||
|
| netbootxyz | 5803 | Bridge | HTTP |
|
||||||
|
| netbootxyz | 69 | Bridge | TFTP |
|
||||||
| NZBGet | 6789 | Bridge | HTTP |
|
| NZBGet | 6789 | Bridge | HTTP |
|
||||||
| Ombi | 3579 | Bridge | HTTP |
|
| Ombi | 3579 | Bridge | HTTP |
|
||||||
| openHAB | 7777 | Host | HTTP |
|
| openHAB | 7777 | Host | HTTP |
|
||||||
|
|
5
nas.yml
5
nas.yml
|
@ -163,6 +163,11 @@
|
||||||
- n8n_enabled
|
- n8n_enabled
|
||||||
when: (n8n_enabled | default(False))
|
when: (n8n_enabled | default(False))
|
||||||
|
|
||||||
|
- role: netbootxyz
|
||||||
|
tags:
|
||||||
|
- netbootxyz
|
||||||
|
when: (netbootxyz_enabled | default(False))
|
||||||
|
|
||||||
- role: netdata
|
- role: netdata
|
||||||
tags:
|
tags:
|
||||||
- netdata
|
- netdata
|
||||||
|
|
20
roles/netbootxyz/defaults/main.yml
Normal file
20
roles/netbootxyz/defaults/main.yml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
netbootxyz_enabled: false
|
||||||
|
netbootxyz_available_externally: "false"
|
||||||
|
|
||||||
|
# directories
|
||||||
|
netbootxyz_config_directory: "{{ docker_home }}/netbootxyz/config"
|
||||||
|
netbootxyz_assets_directory: "{{ docker_home }}/netbootxyz/assets"
|
||||||
|
|
||||||
|
# network
|
||||||
|
netbootxyz_hostname: netbootxyz
|
||||||
|
netbootxyz_port_http: "3002"
|
||||||
|
netbootxyz_port_http2: "5803"
|
||||||
|
netbootxyz_port_tftp: "69"
|
||||||
|
|
||||||
|
# uid/gid
|
||||||
|
netbootxyz_user_id: "1000"
|
||||||
|
netbootxyz_group_id: "1000"
|
||||||
|
|
||||||
|
# specs
|
||||||
|
netbootxyz_memory: 1g
|
34
roles/netbootxyz/tasks/main.yml
Normal file
34
roles/netbootxyz/tasks/main.yml
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
---
|
||||||
|
- name: netbootxyz Directory
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ netbootxyz_config_directory }}"
|
||||||
|
- "{{ netbootxyz_assets_directory }}"
|
||||||
|
|
||||||
|
- name: netbootxyz Docker Container
|
||||||
|
docker_container:
|
||||||
|
name: netbootxyz
|
||||||
|
image: linuxserver/netbootxyz:latest
|
||||||
|
pull: true
|
||||||
|
volumes:
|
||||||
|
- "{{ netbootxyz_config_directory }}:/config:rw"
|
||||||
|
- "{{ netbootxyz_assets_directory }}:/assets:rw"
|
||||||
|
ports:
|
||||||
|
- "{{ netbootxyz_port_http }}:3000"
|
||||||
|
- "{{ netbootxyz_port_http2 }}:80"
|
||||||
|
- "{{ netbootxyz_port_tftp }}:69/udp"
|
||||||
|
memory: "{{ netbootxyz_memory }}"
|
||||||
|
env:
|
||||||
|
TZ: "{{ ansible_nas_timezone }}"
|
||||||
|
PUID: "{{ netbootxyz_user_id }}"
|
||||||
|
PGID: "{{ netbootxyz_group_id }}"
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
labels:
|
||||||
|
traefik.enable: "{{ netbootxyz_externally }}"
|
||||||
|
traefik.http.routers.netdata.rule: "Host(`{{ netbootxyz_hostname }}.{{ ansible_nas_domain }}`)"
|
||||||
|
traefik.http.routers.netdata.tls.certresolver: "letsencrypt"
|
||||||
|
traefik.http.routers.netdata.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||||
|
traefik.http.routers.netdata.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
||||||
|
traefik.http.services.netdata.loadbalancer.server.port: "80"
|
Loading…
Reference in a new issue