forked from external-repos/noisedash
@@ -1,4 +1,4 @@
|
||||
FROM node:16
|
||||
FROM node:20
|
||||
LABEL maintainer="kaythomas@pm.me"
|
||||
WORKDIR /var/noisedash
|
||||
COPY package*.json ./
|
||||
|
||||
22
README.md
22
README.md
@@ -23,6 +23,9 @@ Requires docker and docker-compose
|
||||
|
||||
* Download the provided [docker-compose.yml file](https://github.com/kaythomas0/noisedash/blob/main/docker-compose.yml)
|
||||
* In the same directory as the docker-compose file, created a folder called `config`, and inside it, put the provided [config file](https://github.com/kaythomas0/noisedash/blob/main/config/default.json)
|
||||
* `maxSampleSize` is in bytes - 10GB by default
|
||||
* Keep `tls` as `false` if using an external web server like nginx
|
||||
* `production.json` exists in the source code and is left empty intentionally for the reason outlined here: https://github.com/node-config/node-config/wiki/Strict-Mode#node_env-value-of-node_env-did-not-match-any-deployment-config-file-names=
|
||||
* Edit the config file to your preference
|
||||
* Bring the container up:
|
||||
|
||||
@@ -34,9 +37,26 @@ docker-compose up -d
|
||||
|
||||
(Raspberry Pi compatible images are available, see armv7 images on [Docker Hub](https://hub.docker.com/repository/docker/noisedash/noisedash))
|
||||
|
||||
## Kubernetes
|
||||
|
||||
You can apply the manifest.yaml in the kubernetes folder to install Noisedash into your Kubernetes cluster.
|
||||
|
||||
Optionally, uncomment the last lines in the file to also create an ingress. The ingress, commented out by default, needs to have the clusterIssuser annotation set to your cluster issuer (default: letsencrypt-prod) and the ingress class set to your Ingress class (default: Nginx)
|
||||
|
||||
|
||||
``` bash
|
||||
$ kubectl apply -f ./kubernetes/manifest.yaml
|
||||
persistentvolumeclaim/db-pvc created
|
||||
persistentvolumeclaim/samples-pvc created
|
||||
deployment.apps/noisedash created
|
||||
service/noisedash created
|
||||
configmap/noisedashcfg created
|
||||
ingress.networking.k8s.io/noisedashingress created
|
||||
```
|
||||
|
||||
## From Source
|
||||
|
||||
Requires node 16 and npm
|
||||
Requires node 20 and npm
|
||||
|
||||
* Clone the repo:
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
"listeningPort": 1432,
|
||||
"sessionFileStorePath": "sessions",
|
||||
"sampleUploadPath": "samples",
|
||||
"maxSampleSize": 10737418240, // In bytes, 10GB by default
|
||||
"maxSampleSize": 10737418240,
|
||||
"logFile": "log/noisedash.log",
|
||||
"tls": false, // Keep this as false if using an external web server like nginx
|
||||
"tls": false,
|
||||
"tlsKey": "certs/key.pem",
|
||||
"tlsCert": "certs/cert.pem"
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{} // Left empty intentionally: https://github.com/node-config/node-config/wiki/Strict-Mode#node_env-value-of-node_env-did-not-match-any-deployment-config-file-names=
|
||||
{}
|
||||
240
kubernetes/manifest.yaml
Normal file
240
kubernetes/manifest.yaml
Normal file
@@ -0,0 +1,240 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: db-pvc
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: samples-pvc
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: noisedash
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: noisedash
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: noisedash
|
||||
spec:
|
||||
containers:
|
||||
- name: noisedash
|
||||
image: noisedash/noisedash:latest
|
||||
ports:
|
||||
- containerPort: 1432
|
||||
volumeMounts:
|
||||
- name: db
|
||||
mountPath: /var/noisedash/db
|
||||
- name: samples
|
||||
mountPath: /var/noisedash/samples
|
||||
- name: config
|
||||
mountPath: /var/noisedash/config/default.json
|
||||
subPath: config.json
|
||||
volumes:
|
||||
- name: db
|
||||
persistentVolumeClaim:
|
||||
claimName: db-pvc
|
||||
- name: samples
|
||||
persistentVolumeClaim:
|
||||
claimName: samples-pvc
|
||||
- name: config
|
||||
configMap:
|
||||
name: noisedashcfg
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: noisedash
|
||||
spec:
|
||||
selector:
|
||||
app: noisedash
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 80
|
||||
targetPort: 1432
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: noisedashcfg
|
||||
data:
|
||||
config.json: |
|
||||
{
|
||||
"Server": {
|
||||
"listeningPort": 1432,
|
||||
"sessionFileStorePath": "sessions",
|
||||
"sampleUploadPath": "samples",
|
||||
"maxSampleSize": 10737418240,
|
||||
"logFile": "log/noisedash.log",
|
||||
"tls": false,
|
||||
"tlsKey": "certs/key.pem",
|
||||
"tlsCert": "certs/cert.pem"
|
||||
}
|
||||
}
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||
kubernetes.io/ingress.class: nginx
|
||||
kubernetes.io/tls-acme: "true"
|
||||
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
|
||||
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
|
||||
labels:
|
||||
app.kubernetes.io/instance: noisedash
|
||||
name: noisedashingress
|
||||
spec:
|
||||
rules:
|
||||
- host: noisedash.freshbrewed.science
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: noisedash
|
||||
port:
|
||||
number: 80
|
||||
path: /
|
||||
pathType: ImplementationSpecific
|
||||
tls:
|
||||
- hosts:
|
||||
- noisedash.freshbrewed.science
|
||||
secretName: noisedash-tls
|
||||
builder@DESKTOP-QADGF36:~/Workspaces/pyplanereport$
|
||||
builder@DESKTOP-QADGF36:~/Workspaces/pyplanereport$ cat noiseall.yaml
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: db-pvc
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: samples-pvc
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: noisedash
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: noisedash
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: noisedash
|
||||
spec:
|
||||
containers:
|
||||
- name: noisedash
|
||||
image: noisedash/noisedash:latest
|
||||
ports:
|
||||
- containerPort: 1432
|
||||
volumeMounts:
|
||||
- name: db
|
||||
mountPath: /var/noisedash/db
|
||||
- name: samples
|
||||
mountPath: /var/noisedash/samples
|
||||
- name: config
|
||||
mountPath: /var/noisedash/config/default.json
|
||||
subPath: config.json
|
||||
volumes:
|
||||
- name: db
|
||||
persistentVolumeClaim:
|
||||
claimName: db-pvc
|
||||
- name: samples
|
||||
persistentVolumeClaim:
|
||||
claimName: samples-pvc
|
||||
- name: config
|
||||
configMap:
|
||||
name: noisedashcfg
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: noisedash
|
||||
spec:
|
||||
selector:
|
||||
app: noisedash
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 80
|
||||
targetPort: 1432
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: noisedashcfg
|
||||
data:
|
||||
config.json: |
|
||||
{
|
||||
"Server": {
|
||||
"listeningPort": 1432,
|
||||
"sessionFileStorePath": "sessions",
|
||||
"sampleUploadPath": "samples",
|
||||
"maxSampleSize": 10737418240,
|
||||
"logFile": "log/noisedash.log",
|
||||
"tls": false,
|
||||
"tlsKey": "certs/key.pem",
|
||||
"tlsCert": "certs/cert.pem"
|
||||
}
|
||||
}
|
||||
# ---
|
||||
# apiVersion: networking.k8s.io/v1
|
||||
# kind: Ingress
|
||||
# metadata:
|
||||
# annotations:
|
||||
# cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: "true"
|
||||
# nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
|
||||
# nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
|
||||
# labels:
|
||||
# app.kubernetes.io/instance: noisedash
|
||||
# name: noisedashingress
|
||||
# spec:
|
||||
# rules:
|
||||
# - host: noisedash.freshbrewed.science
|
||||
# http:
|
||||
# paths:
|
||||
# - backend:
|
||||
# service:
|
||||
# name: noisedash
|
||||
# port:
|
||||
# number: 80
|
||||
# path: /
|
||||
# pathType: ImplementationSpecific
|
||||
# tls:
|
||||
# - hosts:
|
||||
# - noisedash.freshbrewed.science
|
||||
# secretName: noisedash-tls
|
||||
3525
package-lock.json
generated
3525
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "noisedash",
|
||||
"version": "0.6.13",
|
||||
"version": "0.7.0",
|
||||
"private": true,
|
||||
"author": "Kay Thomas <kaythomas@pm.me> (https://kaythomas.dev)",
|
||||
"scripts": {
|
||||
@@ -25,7 +25,7 @@
|
||||
"path": "^0.12.7",
|
||||
"session-file-store": "^1.5.0",
|
||||
"tone": "^14.7.77",
|
||||
"vue": "^2.6.11",
|
||||
"vue": "^2.7.16",
|
||||
"vue-router": "^3.5.4",
|
||||
"vuetify": "^2.6.10",
|
||||
"winston": "^3.3.3"
|
||||
@@ -44,11 +44,11 @@
|
||||
"eslint-plugin-node": "^11.1.0",
|
||||
"eslint-plugin-promise": "^5.1.0",
|
||||
"eslint-plugin-standard": "^4.0.0",
|
||||
"eslint-plugin-vue": "^8.0.3",
|
||||
"eslint-plugin-vue": "^7.20.0",
|
||||
"sass": "~1.32.0",
|
||||
"sass-loader": "^10.0.0",
|
||||
"vue-cli-plugin-vuetify": "^2.5.8",
|
||||
"vue-template-compiler": "^2.6.11",
|
||||
"vue-template-compiler": "^2.7.16",
|
||||
"vuetify-loader": "^1.7.3"
|
||||
},
|
||||
"bugs": "https://github.com/kaythomas0/noisedash/issues",
|
||||
|
||||
Reference in New Issue
Block a user