mirror of
https://github.com/openmhz/trunk-server.git
synced 2026-11-09 15:27:30 -05:00
forward progress
This commit is contained in:
6
.gitignore
vendored
6
.gitignore
vendored
@@ -1,2 +1,4 @@
|
||||
docker-prod.sh
|
||||
docker-test.sh
|
||||
|
||||
prod.env
|
||||
test.env
|
||||
account/.eslintcache
|
||||
|
||||
@@ -56,7 +56,6 @@ if(isDev) {
|
||||
|
||||
var backend_server = process.env['BACKEND_SERVER'] != null ? process.env['BACKEND_SERVER'] : 'https://api.openmhz.com';
|
||||
var frontend_server = process.env['FRONTEND_SERVER'] != null ? process.env['FRONTEND_SERVER'] : 'https://openmhz.com';
|
||||
var media_server = process.env['MEDIA_SERVER'] != null ? process.env['MEDIA_SERVER'] : 'https://media.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
||||
var socket_server = process.env['SOCKET_SERVER'] != null ? process.env['SOCKET_SERVER'] : 'wss://api.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
||||
var admin_server = process.env['ADMIN_SERVER'] != null ? process.env['ADMIN_SERVER'] : 'https://admin.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
||||
var account_server = process.env['ACCOUNT_SERVER'] != null ? process.env['ACCOUNT_SERVER'] : 'https://account.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
||||
@@ -247,7 +246,6 @@ app.get("*", (req, res, next) => {
|
||||
const frontend_server = "${frontend_server}";
|
||||
const admin_server = "${admin_server}";
|
||||
const backend_server = "${backend_server}";
|
||||
const media_server = "${media_server}";
|
||||
const socket_server = "${socket_server}";
|
||||
const account_server = "${account_server}";
|
||||
const site_name = "${site_name}";
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -73,7 +73,7 @@ app.post("/users/:userId/send-confirm", users.sendConfirmEmail)
|
||||
app.post("/users/:userId/confirm/:token", users.confirmEmail)
|
||||
|
||||
app.get("*", (req, res, next) => {
|
||||
res.sendFile('public/index.html');
|
||||
res.sendFile(__dirname + '/public/index.html');
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -136,7 +136,6 @@ var admin_email = process.env['ADMIN_EMAIL'] != null ? process.env['ADMIN_EMAIL'
|
||||
var beta_frontend_server = process.env['BETA_FRONTEND_SERVER'] != null ? process.env['BETA_FRONTEND_SERVER'] : 'https://beta.openmhz.com';
|
||||
var backend_server = process.env['BACKEND_SERVER'] != null ? process.env['BACKEND_SERVER'] : 'https://api.openmhz.com';
|
||||
var frontend_server = process.env['FRONTEND_SERVER'] != null ? process.env['FRONTEND_SERVER'] : 'https://openmhz.com';
|
||||
var media_server = process.env['MEDIA_SERVER'] != null ? process.env['MEDIA_SERVER'] : 'https://media.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
||||
var socket_server = process.env['SOCKET_SERVER'] != null ? process.env['SOCKET_SERVER'] : 'wss://api.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
||||
var account_server = process.env['ACCOUNT_SERVER'] != null ? process.env['ACCOUNT_SERVER'] : 'https://account.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
||||
var site_name = process.env['SITE_NAME'] != null ? process.env['SITE_NAME'] : "OpenMHz";
|
||||
@@ -187,7 +186,6 @@ app.get("*", (req, res, next) => {
|
||||
<script>
|
||||
const admin_server = "${admin_server}";
|
||||
const backend_server = "${backend_server}";
|
||||
const media_server = "${media_server}";
|
||||
const socket_server = "${socket_server}";
|
||||
const account_server = "${account_server}";
|
||||
const site_name = "${site_name}";
|
||||
|
||||
@@ -142,7 +142,7 @@ app.post("/systems/:shortName", [isLoggedIn, systems.ownSystem, systems.validate
|
||||
app.post("/systems", [isLoggedIn, systems.uniqueShortName, systems.validateSystem, systems.createSystem])
|
||||
|
||||
app.get("*", (req, res, next) => {
|
||||
res.sendFile('public/index.html');
|
||||
res.sendFile(__dirname + '/public/index.html');
|
||||
});
|
||||
|
||||
// start listening to incoming requests
|
||||
|
||||
@@ -9,7 +9,6 @@ const MongoStore = connectMongo(session)
|
||||
var cookie_domain = process.env['COOKIE_DOMAIN'] != null ? process.env['COOKIE_DOMAIN'] : '.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
||||
var backend_server = process.env['BACKEND_SERVER'] != null ? process.env['BACKEND_SERVER'] : 'https://api.openmhz.com';
|
||||
var frontend_server = process.env['FRONTEND_SERVER'] != null ? process.env['FRONTEND_SERVER'] : 'https://openmhz.com';
|
||||
var media_server = process.env['MEDIA_SERVER'] != null ? process.env['MEDIA_SERVER'] : 'https://media.openmhz.com';
|
||||
var socket_server = process.env['SOCKET_SERVER'] != null ? process.env['SOCKET_SERVER'] : 'wss://socket.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
||||
var admin_server = process.env['ADMIN_SERVER'] != null ? process.env['ADMIN_SERVER'] : 'https://admin.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
||||
var site_name = process.env['SITE_NAME'] != null ? process.env['SITE_NAME'] : "OpenMHz";
|
||||
|
||||
@@ -13,7 +13,6 @@ var secrets = require("../config/secrets");
|
||||
var util = require("util")
|
||||
var config = require('../config/config.json');
|
||||
|
||||
var media_server = process.env['MEDIA_SERVER'] != null ? process.env['MEDIA_SERVER'] : 'https://media.openmhz.com';
|
||||
var s3_endpoint = process.env['S3_ENDPOINT'] != null ? process.env['S3_ENDPOINT'] : 's3.us-west-1.wasabisys.com';
|
||||
var s3_bucket = process.env['S3_BUCKET'] != null ? process.env['S3_BUCKET'] : 'openmhz-west';
|
||||
var s3_profile = process.env['S3_PROFILE'] != null ? process.env['S3_PROFILE'] : 'wasabi-account';
|
||||
@@ -131,16 +130,11 @@ process.nextTick(function() {
|
||||
var endpoint = s3_endpoint;
|
||||
var bucket = s3_bucket;
|
||||
|
||||
if (item.plan && (item.plan.type == "pro")) {
|
||||
// If a pro plan, use local storage
|
||||
// TODO: Why?
|
||||
url = media_server + local_path + talkgroupNum + "-" + startTime + ".m4a";
|
||||
objectStore = false;
|
||||
} else {
|
||||
// If not a pro plan, use S3 storage
|
||||
var url = 'https://' + s3_endpoint + "/" + s3_bucket + "/" + object_key;
|
||||
var objectStore = true;
|
||||
}
|
||||
|
||||
// If not a pro plan, use S3 storage
|
||||
var url = 'https://' + s3_endpoint + "/" + s3_bucket + "/" + object_key;
|
||||
var objectStore = true;
|
||||
|
||||
|
||||
var call = new Call({
|
||||
shortName: shortName,
|
||||
|
||||
@@ -102,7 +102,6 @@ function isLoggedIn(req, res, next) {
|
||||
var admin_server = process.env['ADMIN_SERVER'] != null ? process.env['ADMIN_SERVER'] : 'https://admin.openmhz.com';
|
||||
var backend_server = process.env['BACKEND_SERVER'] != null ? process.env['BACKEND_SERVER'] : 'https://api.openmhz.com';
|
||||
var frontend_server = process.env['FRONTEND_SERVER'] != null ? process.env['FRONTEND_SERVER'] : 'https://openmhz.com';
|
||||
var media_server = process.env['MEDIA_SERVER'] != null ? process.env['MEDIA_SERVER'] : 'https://media.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
||||
var socket_server = process.env['SOCKET_SERVER'] != null ? process.env['SOCKET_SERVER'] : 'wss://api.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
||||
var account_server = process.env['ACCOUNT_SERVER'] != null ? process.env['ACCOUNT_SERVER'] : 'https://account.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
||||
|
||||
|
||||
@@ -58,7 +58,6 @@ services:
|
||||
- BACKEND_SERVER
|
||||
- ADMIN_SERVER
|
||||
- FRONTEND_SERVER
|
||||
- MEDIA_SERVER
|
||||
- SOCKET_SERVER
|
||||
- COOKIE_DOMAIN
|
||||
- ACCOUNT_SERVER
|
||||
@@ -94,7 +93,6 @@ services:
|
||||
- BACKEND_SERVER
|
||||
- ADMIN_SERVER
|
||||
- FRONTEND_SERVER
|
||||
- MEDIA_SERVER
|
||||
- SOCKET_SERVER
|
||||
- COOKIE_DOMAIN
|
||||
- ACCOUNT_SERVER
|
||||
@@ -123,10 +121,9 @@ services:
|
||||
- STRIPE_SECRET_KEY
|
||||
- MAILJET_KEY
|
||||
- MAILJET_SECRET
|
||||
- BACKEND_SERVER
|
||||
- ADMIN_SERVER
|
||||
- FRONTEND_SERVER
|
||||
- MEDIA_SERVER
|
||||
- REACT_APP_BACKEND_SERVER
|
||||
- REACT_APP_ADMIN_SERVER
|
||||
- REACT_APP_FRONTEND_SERVER
|
||||
- SOCKET_SERVER
|
||||
- COOKIE_DOMAIN
|
||||
- ACCOUNT_SERVER
|
||||
@@ -156,7 +153,6 @@ services:
|
||||
- BACKEND_SERVER
|
||||
- ADMIN_SERVER
|
||||
- FRONTEND_SERVER
|
||||
- MEDIA_SERVER
|
||||
- SOCKET_SERVER
|
||||
- COOKIE_DOMAIN
|
||||
- ACCOUNT_SERVER
|
||||
|
||||
4
docker-prod.sh
Executable file
4
docker-prod.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
source prod.env
|
||||
|
||||
echo "Docker Compose Commad: " $@
|
||||
docker-compose -f docker-compose.yml $@
|
||||
6
docker-test.sh
Executable file
6
docker-test.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
|
||||
source test.env
|
||||
|
||||
echo $COOKIE_DOMAIN
|
||||
echo "Docker Compose Commad: " $@
|
||||
docker-compose -f docker-compose.yml -f test-compose.yml $@
|
||||
@@ -247,7 +247,7 @@ class CallPlayer extends React.Component {
|
||||
if (this.state.autoPlay && (currentIndex > 0)) {
|
||||
const nextCallId = this.props.callsAllIds[currentIndex - 1];
|
||||
const nextCall = this.props.callsById[nextCallId];
|
||||
var callUrl = media_server + nextCall.filename;
|
||||
var callUrl = null;
|
||||
if (nextCall.url) {
|
||||
callUrl = nextCall.url;
|
||||
}
|
||||
@@ -261,7 +261,7 @@ class CallPlayer extends React.Component {
|
||||
|
||||
playCall(data) {
|
||||
const audio = this.audioRef.current;
|
||||
var callUrl = media_server + data.call.filename;
|
||||
var callUrl = null;
|
||||
if (data.call.url) {
|
||||
callUrl = data.call.url;
|
||||
}
|
||||
@@ -425,10 +425,7 @@ class CallPlayer extends React.Component {
|
||||
if (call) {
|
||||
if (call.url) {
|
||||
this.setState({callUrl: call.url });
|
||||
} else {
|
||||
this.setState({callUrl: media_server + call.filename });
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -469,9 +466,7 @@ class CallPlayer extends React.Component {
|
||||
callLink = "/system/" + this.props.shortName + "?call-id=" + currentCall._id + "&time=" + (callDate.getTime()+1);
|
||||
if (currentCall.url) {
|
||||
callDownload = currentCall.url;
|
||||
} else {
|
||||
callDownload = media_server + currentCall.filename;
|
||||
}
|
||||
}
|
||||
}
|
||||
var archive = freePlanArchive;
|
||||
if (this.props.system && (this.props.system.planType == proPlanValue)) {
|
||||
|
||||
@@ -81,10 +81,7 @@ componentWillUpdate(nextProps) {
|
||||
render(){
|
||||
var playEnabled = { "disabled": true }
|
||||
var sourceId = "-";
|
||||
var callUrl = null;
|
||||
if (this.props.call) {
|
||||
callUrl = media_server + this.props.call.filename;
|
||||
}
|
||||
|
||||
if (this.props.call) {
|
||||
if (this.props.call.srcList.length > this.state.sourceIndex) {
|
||||
sourceId = this.props.call.srcList[this.state.sourceIndex].src;
|
||||
|
||||
@@ -29,7 +29,6 @@ if (isDev) {
|
||||
|
||||
var backend_server = process.env['BACKEND_SERVER'] != null ? process.env['BACKEND_SERVER'] : 'https://api.openmhz.com';
|
||||
var frontend_server = process.env['FRONTEND_SERVER'] != null ? process.env['FRONTEND_SERVER'] : 'https://openmhz.com';
|
||||
var media_server = process.env['MEDIA_SERVER'] != null ? process.env['MEDIA_SERVER'] : 'https://media.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
||||
var socket_server = process.env['SOCKET_SERVER'] != null ? process.env['SOCKET_SERVER'] : 'wss://api.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
||||
var site_name = process.env['SITE_NAME'] != null ? process.env['SITE_NAME'] : "OpenMHz";
|
||||
const proPlanValue = process.env['PRO_PLAN'] != null ? process.env['PRO_PLAN'] : 10;
|
||||
@@ -65,7 +64,6 @@ app.get("*", (req, res, next) => {
|
||||
/>
|
||||
<script>
|
||||
const backend_server = "${backend_server}";
|
||||
const media_server = "${media_server}";
|
||||
const socket_server = "${socket_server}";
|
||||
const proPlanValue = ${proPlanValue};
|
||||
const freePlanValue = ${freePlanValue};
|
||||
|
||||
13
docker-prod.sh.example → prod.env.example
Executable file → Normal file
13
docker-prod.sh.example → prod.env.example
Executable file → Normal file
@@ -7,10 +7,18 @@ export TAG=1.7
|
||||
export DOMAIN_NAME="openmhz.com"
|
||||
export PROTOCOL="https://"
|
||||
|
||||
export REACT_APP_BACKEND_SERVER="${PROTOCOL}api.${DOMAIN_NAME}"
|
||||
export REACT_APP_FRONTEND_SERVER="${PROTOCOL}${DOMAIN_NAME}"
|
||||
export REACT_APP_SOCKET_SERVER=wss://socket.${DOMAIN_NAME}
|
||||
export REACT_APP_ACCOUNT_SERVER="${PROTOCOL}account.${DOMAIN_NAME}"
|
||||
export REACT_APP_ADMIN_SERVER="${PROTOCOL}admin.${DOMAIN_NAME}"
|
||||
export REACT_APP_COOKIE_DOMAIN=".${DOMAIN_NAME}"
|
||||
export REACT_APP_ADMIN_EMAIL="admin@email.com"
|
||||
export REACT_APP_SITE_NAME=OpenMHz
|
||||
export REACT_APP_ARCHIVE_DAYS=30
|
||||
export BACKEND_SERVER="${PROTOCOL}api.${DOMAIN_NAME}"
|
||||
export FRONTEND_SERVER="${PROTOCOL}${DOMAIN_NAME}"
|
||||
export ADMIN_SERVER="${PROTOCOL}admin.${DOMAIN_NAME}"
|
||||
export MEDIA_SERVER="${PROTOCOL}media.${DOMAIN_NAME}"
|
||||
export SOCKET_SERVER="wss://socket.${DOMAIN_NAME}"
|
||||
export ACCOUNT_SERVER="${PROTOCOL}account.${DOMAIN_NAME}"
|
||||
export COOKIE_DOMAIN=".${DOMAIN_NAME}"
|
||||
@@ -25,6 +33,3 @@ export FREE_PLAN_PRICE=0
|
||||
export PRO_PLAN_PRICE=15
|
||||
export FREE_PLAN_ARCHIVE=7
|
||||
export PRO_PLAN_ARCHIVE=30
|
||||
|
||||
echo "Docker Compose Commad: " $@
|
||||
docker-compose -f docker-compose.yml $@
|
||||
3
rebuild.sh
Executable file
3
rebuild.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
touch frontend/src/index.js
|
||||
touch account/src/index.js
|
||||
touch admin/src/index.js
|
||||
16
docker-test.sh.example → test.env.example
Executable file → Normal file
16
docker-test.sh.example → test.env.example
Executable file → Normal file
@@ -7,12 +7,20 @@ export TAG=1.7
|
||||
export DOMAIN_NAME="openmhz.test"
|
||||
export PROTOCOL="http://"
|
||||
|
||||
export REACT_APP_BACKEND_SERVER="${PROTOCOL}api.${DOMAIN_NAME}"
|
||||
export REACT_APP_FRONTEND_SERVER="${PROTOCOL}${DOMAIN_NAME}"
|
||||
export REACT_APP_SOCKET_SERVER=wss://socket.${DOMAIN_NAME}
|
||||
export REACT_APP_ACCOUNT_SERVER="${PROTOCOL}account.${DOMAIN_NAME}"
|
||||
export REACT_APP_ADMIN_SERVER="${PROTOCOL}admin.${DOMAIN_NAME}"
|
||||
export REACT_APP_COOKIE_DOMAIN=".${DOMAIN_NAME}"
|
||||
export REACT_APP_ADMIN_EMAIL="admin@email.com"
|
||||
export REACT_APP_SITE_NAME=OpenMHz
|
||||
export REACT_APP_ARCHIVE_DAYS=30
|
||||
export STRIPE_PUBLISHABLE_KEY=""
|
||||
export STRIPE_SECRET_KEY="FILL IN HERE"
|
||||
export BACKEND_SERVER="${PROTOCOL}api.${DOMAIN_NAME}"
|
||||
export FRONTEND_SERVER="${PROTOCOL}${DOMAIN_NAME}"
|
||||
export ADMIN_SERVER="${PROTOCOL}admin.${DOMAIN_NAME}"
|
||||
export MEDIA_SERVER="${PROTOCOL}media.${DOMAIN_NAME}"
|
||||
export SOCKET_SERVER="wss://socket.${DOMAIN_NAME}"
|
||||
export ACCOUNT_SERVER="${PROTOCOL}account.${DOMAIN_NAME}"
|
||||
export COOKIE_DOMAIN=".${DOMAIN_NAME}"
|
||||
@@ -26,8 +34,4 @@ export PRO_PLAN=10
|
||||
export FREE_PLAN_PRICE=0
|
||||
export PRO_PLAN_PRICE=15
|
||||
export FREE_PLAN_ARCHIVE=7
|
||||
export PRO_PLAN_ARCHIVE=30
|
||||
|
||||
echo $COOKIE_DOMAIN
|
||||
echo "Docker Compose Commad: " $@
|
||||
docker-compose -f docker-compose.yml -f test-compose.yml $@
|
||||
export PRO_PLAN_ARCHIVE=30
|
||||
Reference in New Issue
Block a user