setup fix
This commit is contained in:
parent
98290acdd0
commit
0af5aa32d7
@ -36,6 +36,32 @@ apxtri.main = async () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
apxtri.setup = async () => {
|
apxtri.setup = async () => {
|
||||||
|
const getip = async () => {
|
||||||
|
/**
|
||||||
|
* Return json with public IP and network interfaces with their local IP
|
||||||
|
* {WANIP:"public IP","eth0":"localIPoneth0",...}
|
||||||
|
*/
|
||||||
|
const network = {};
|
||||||
|
const urlgetip = `https://api.ipify.org?format=json`;
|
||||||
|
const getdata = await fetch(urlgetip);
|
||||||
|
if (getdata.ok) {
|
||||||
|
const data = await getdata.json();
|
||||||
|
network.WANIP = data.ip;
|
||||||
|
}
|
||||||
|
const os = await import("os");
|
||||||
|
const interfaces = os.networkInterfaces();
|
||||||
|
for (const name in interfaces) {
|
||||||
|
for (const iface of interfaces[name]) {
|
||||||
|
// Check for IPv4 and make sure it's not an internal (loopback) address
|
||||||
|
if (iface.family === "IPv4" && !iface.internal) {
|
||||||
|
network[name]=iface.address;
|
||||||
|
//localIP = iface.address;
|
||||||
|
//console.log(`Local network IP (${name}): ${localIP}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return network
|
||||||
|
};
|
||||||
console.log("Warning, this is a first install");
|
console.log("Warning, this is a first install");
|
||||||
const initadminapi = fs.readJsonSync(
|
const initadminapi = fs.readJsonSync(
|
||||||
"../adminapi/apxtri/setup/initadminapi.json"
|
"../adminapi/apxtri/setup/initadminapi.json"
|
||||||
@ -157,7 +183,8 @@ apxtri.setup = async () => {
|
|||||||
);
|
);
|
||||||
// add hosts entry for local access
|
// add hosts entry for local access
|
||||||
// this command is ran by the setup.sh
|
// this command is ran by the setup.sh
|
||||||
// sudo sed -i '/127.0.0.1 adminapx.adminapi/c\127.0.0.1 adminapx.adminapi' /etc/hosts
|
// grep -q '^127.0.0.1 adminapx.adminapi' /etc/hosts || echo '127.0.0.1 adminapx.adminapi' | sudo tee -a /etc/hosts > /dev/null
|
||||||
|
const ips=await getip();
|
||||||
const { exec } = require("child_process");
|
const { exec } = require("child_process");
|
||||||
exec(initadminapi.nginx.restart, (error, stdout, stderr) => {
|
exec(initadminapi.nginx.restart, (error, stdout, stderr) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
@ -165,7 +192,7 @@ apxtri.setup = async () => {
|
|||||||
process.exit(0);
|
process.exit(0);
|
||||||
} else {
|
} else {
|
||||||
console.log(
|
console.log(
|
||||||
`\x1b[42m##############################################################################\x1b[0m\n\x1b[42mWellcome into apxtri, you can now 'yarn dev' for dev or 'yarn startapx' for prod \n'Access to your town here \x1b[0m\x1b[32mhttp://adminapx.adminapî\x1b[0m \x1b[42m \n\x1b[0m\n\x1b[42m###########################################################################################\x1b[0m`
|
`\x1b[42m#############################################################################################\x1b[0m\n\x1b[42mWellcome into this fresh apxtri install, this run as "yarn dev" to set up your machine with a public domain name.\n If this install is to be use accross internet or local network : add on yopur local machine in /etc/hosts lines:\n ${Object.values(ips).map(ip => `${ip} adminapx.adminapi`).join('\n')} \n then open in your local browser \x1b[0m\x1b[32mhttp://adminapx.adminapi\x1b[0m \x1b[42m \n In local dev continue with 'yarn dev'\nTo run as a production run 'yarn startapx' or 'yarn restartapx' this will use pm2 as production monitoring\n\x1b[0m\n\x1b[42m###########################################################################################\x1b[0m`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -59,7 +59,8 @@ else
|
|||||||
mkdir -p "${tribe}/logs"
|
mkdir -p "${tribe}/logs"
|
||||||
mkdir -p "${tribe}/logs/nginx"
|
mkdir -p "${tribe}/logs/nginx"
|
||||||
mkdir -p "${tribe}/backups"
|
mkdir -p "${tribe}/backups"
|
||||||
sudo sed -i '/127.0.0.1 adminapx.adminapi/c\127.0.0.1 adminapx.adminapi\n' /etc/hosts
|
# add 127.0.0.1 local host
|
||||||
|
grep -q '^127.0.0.1 adminapx.adminapi' /etc/hosts || echo '127.0.0.1 adminapx.adminapi' | sudo tee -a /etc/hosts > /dev/null
|
||||||
cd "$tribe"
|
cd "$tribe"
|
||||||
yarn install
|
yarn install
|
||||||
cd ../adminapi
|
cd ../adminapi
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
},
|
},
|
||||||
"description": "apxtri Decentralized Autonomous Organization",
|
"description": "apxtri Decentralized Autonomous Organization",
|
||||||
"main": "./apxtri/apxtri.js",
|
"main": "./apxtri/apxtri.js",
|
||||||
|
"type":"module",
|
||||||
"repository": {
|
"repository": {
|
||||||
"url": "https://gitea.ndda.fr/apxtri/adminapi.git",
|
"url": "https://gitea.ndda.fr/apxtri/adminapi.git",
|
||||||
"type": "git"
|
"type": "git"
|
||||||
|
Loading…
Reference in New Issue
Block a user