Warp docs in a mkdocs website
This commit is contained in:
parent
cc43776e6d
commit
da0df6bab4
11
docs/configure.md
Normal file
11
docs/configure.md
Normal file
@ -0,0 +1,11 @@
|
||||
# Configure FieldPOC
|
||||
|
||||
```
|
||||
services.fieldpoc = {
|
||||
enable = true;
|
||||
ommIp = "10.42.132.2";
|
||||
ommUser = "omm";
|
||||
ommPasswordPath = pkgs.writeText "ommpassword" "rfpL43wlan";
|
||||
sipsecretPath = pkgs.writeText "sipsecret" "c1e0aba8e0fc3ed3";
|
||||
};
|
||||
```
|
18
docs/hardware.md
Normal file
18
docs/hardware.md
Normal file
@ -0,0 +1,18 @@
|
||||
# Required hardware
|
||||
|
||||
These are the hardware requirements for a minimal working system.
|
||||
|
||||
## DECT Antenna
|
||||
|
||||
FieldPOC is automation around the management API of Mitel DECT systems.
|
||||
So you need to have a [Mitel RFP 3rd gen](https://howto.dect.network/#hardware-rfp-generations).
|
||||
Our development setup currently uses an RFP 43 WLAN.
|
||||
|
||||
## Powering the Antenna
|
||||
|
||||
The RFP gets powered using PoE, so make sure you have a **PoE Injector**
|
||||
|
||||
## Telephony Server
|
||||
|
||||
The telephony server should be a x84 64bit computer with two Gigabit Ethernet RJ45 ports.
|
||||
In out case we use an APU Board, but it doesn't really matter.
|
3
docs/index.md
Normal file
3
docs/index.md
Normal file
@ -0,0 +1,3 @@
|
||||
# FieldPOC
|
||||
|
||||
A simple to use, good enough phone system for medium sized DECT networks.
|
16
docs/installation.md
Normal file
16
docs/installation.md
Normal file
@ -0,0 +1,16 @@
|
||||
# Installation overview
|
||||
|
||||
FieldPOC requires a bunch of components to work together.
|
||||
We guide you through the setup of a minimal working system.
|
||||
Follow it in order and you will end up with a working setup.
|
||||
|
||||
1. Required hardware
|
||||
2. Install NixOS
|
||||
3. Install FieldPOC
|
||||
4. Configure networking
|
||||
5. Configure FieldPOC
|
||||
6. Prepare RFP
|
||||
7. Setup OMM
|
||||
8. Have DECT
|
||||
|
||||
There are plenty of options to extend the system and we try to document them in the following sections.
|
55
docs/network.md
Normal file
55
docs/network.md
Normal file
@ -0,0 +1,55 @@
|
||||
# Configure networking
|
||||
|
||||
The hardware should have two network interfaces, so we can use one interface to connect the telephony server to the internet and access for management.
|
||||
The other network interface is used to connect to the DECT antenna.
|
||||
|
||||
## Management and internet interface
|
||||
|
||||
You can configure the interface for management and internet access how you like it.
|
||||
Usually leaving it with doing DHCP is totally find.
|
||||
|
||||
## Interface for DECT antenna
|
||||
|
||||
The telephony server is acting as a router for the DECT antenna.
|
||||
|
||||
The network interface used in this example is called `enp3s0`.
|
||||
Replace it with the name of your own interface.
|
||||
|
||||
Assign a static IP address to the interface:
|
||||
|
||||
```
|
||||
networking.interfaces.enp3s0.ipv4.addresses = [ { address = "10.42.132.1"; prefixLength = 24; } ];
|
||||
```
|
||||
|
||||
Phoning over the internet involves weird protocols.
|
||||
Because configuring firewalls for that use-case is hard, we disable the NixOS firewall on that interface.
|
||||
We can do that safely, as only the DECT antenna is connected to it and we have to trust it anyway.
|
||||
|
||||
```
|
||||
networking.firewall.trustedInterfaces = [ "enp3s0" ];
|
||||
```
|
||||
|
||||
### Configure DHCP server
|
||||
|
||||
FieldPOC ships with some configuration wrapper that helps setting up the DHCP server required for the DECT antennas.
|
||||
|
||||
```
|
||||
services.fieldpoc = {
|
||||
dhcp = {
|
||||
enable = true;
|
||||
interface = "enp3s0";
|
||||
subnet = "10.42.132.0/24";
|
||||
pool = "10.42.132.200 - 10.42.132.250";
|
||||
router = "10.42.132.1";
|
||||
dnsServers = "10.42.10.8";
|
||||
omm = "10.42.132.2";
|
||||
reservations = [
|
||||
{
|
||||
name = "omm";
|
||||
macAddress = "00:30:42:1b:8c:7c";
|
||||
ipAddress = "10.42.132.2";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
```
|
@ -1,8 +1,14 @@
|
||||
# NixOS deployment
|
||||
# Install NixOS
|
||||
|
||||
## Add flake
|
||||
To coordinate all the different components, FieldPOC is packaged with NixOS.
|
||||
Follow [the official installation guide](https://nixos.org/manual/nixos/stable/#ch-installation) to install NixOS on you telephony server.
|
||||
You can use the minimal installer, as we don't need graphical user interface.
|
||||
|
||||
Add input:
|
||||
## Add FieldPOC packages
|
||||
|
||||
FieldPOC is provided as a Flake.
|
||||
|
||||
Add the following inputs to your `flake.nix`:
|
||||
|
||||
```
|
||||
inputs.fieldpoc.url = "git+https://git.clerie.de/clerie/fieldpoc.git";
|
||||
@ -17,35 +23,3 @@ Add input modules to your system:
|
||||
fieldpoc.nixosModules.default
|
||||
```
|
||||
|
||||
## Use module
|
||||
|
||||
```
|
||||
networking.interfaces.enp3s0.ipv4.addresses = [ { address = "10.42.132.1"; prefixLength = 24; } ];
|
||||
networking.firewall.trustedInterfaces = [ "enp3s0" ];
|
||||
|
||||
services.fieldpoc = {
|
||||
enable = true;
|
||||
ommIp = "10.42.132.2";
|
||||
ommUser = "omm";
|
||||
ommPasswordPath = pkgs.writeText "ommpassword" "rfpL43wlan";
|
||||
sipsecretPath = pkgs.writeText "sipsecret" "c1e0aba8e0fc3ed3";
|
||||
dhcp = {
|
||||
enable = true;
|
||||
interface = "enp3s0";
|
||||
subnet = "10.42.132.0/24";
|
||||
pool = "10.42.132.200 - 10.42.132.250";
|
||||
router = "10.42.132.1";
|
||||
dnsServers = "10.42.10.8";
|
||||
omm = "10.42.132.2";
|
||||
reservations = [
|
||||
{
|
||||
name = "omm";
|
||||
macAddress = "00:30:42:1b:8c:7c";
|
||||
ipAddress = "10.42.132.2";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
```
|
||||
|
||||
|
||||
|
18
docs/omm.md
18
docs/omm.md
@ -1,4 +1,18 @@
|
||||
# OMM
|
||||
# Setup OMM
|
||||
|
||||
OMM stands for Open Mobility Manager.
|
||||
It is there to manage multiple RFPs.
|
||||
|
||||
## Designate OMM
|
||||
|
||||
The OMM is a pice of software that can be hosted stand-alone or you can designate a RFP to be the OMM.
|
||||
In setups operating FieldPOC it is usually totally fine and recommended to just designate a RFP to be the OMM.
|
||||
|
||||
RFPs automatically host the OMM when they receive their own IP address in the OMM field via DHCP.
|
||||
|
||||
## Management interface
|
||||
|
||||
The OMM exposes a web interface at their IP address.
|
||||
|
||||
## Setup
|
||||
|
||||
@ -7,7 +21,7 @@
|
||||
- Set password for login `omm`
|
||||
- Set password for login `root`
|
||||
|
||||
### PARK
|
||||
### Activate license
|
||||
|
||||
1. Go to `System` -> `System Settings` and find row `PARK`.
|
||||
2. Load PARK file as explained in [howto.dect.network](https://howto.dect.network/#system-settings).
|
||||
|
11
docs/rfp.md
Normal file
11
docs/rfp.md
Normal file
@ -0,0 +1,11 @@
|
||||
# Prepare RFP
|
||||
|
||||
Before adding an RFP to your FieldPOC setup do a [software update](https://howto.dect.network/#software-update) and [factory reset them](https://howto.dect.network/#factory-reset).
|
||||
|
||||
## Connecting RFP
|
||||
|
||||
Connect the RFP with the PoE injector and then with the network interface of your telephony server that carries the network for the DECT antennas.
|
||||
|
||||
RFPs will take a while to boot.
|
||||
First only one LED will glow.
|
||||
After a while more will add.
|
20
flake.nix
20
flake.nix
@ -103,6 +103,26 @@
|
||||
yate = pkgs.yate.overrideAttrs (old: {
|
||||
configureFlags = [ "--with-libpq=${pkgs.postgresql.withPackages (ps: [ ])}" ];
|
||||
});
|
||||
|
||||
docs = pkgs.stdenv.mkDerivation {
|
||||
pname = "fieldpoc-docs";
|
||||
version = "0.0.1";
|
||||
|
||||
src = ./.;
|
||||
|
||||
buildInputs = [
|
||||
pkgs.python3.pkgs.mkdocs-material
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
python3 -m mkdocs build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r ./site/* $out/
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
nixosModules = {
|
||||
|
15
mkdocs.yml
Normal file
15
mkdocs.yml
Normal file
@ -0,0 +1,15 @@
|
||||
site_name: FieldPOC
|
||||
|
||||
theme:
|
||||
name: material
|
||||
|
||||
nav:
|
||||
- index.md
|
||||
- Installation:
|
||||
- installation.md
|
||||
- hardware.md
|
||||
- nixos.md
|
||||
- network.md
|
||||
- configure.md
|
||||
- rfp.md
|
||||
- omm.md
|
Loading…
Reference in New Issue
Block a user