mirror of
https://github.com/logos-storage/logos-storage-installer.git
synced 2026-01-06 23:43:09 +00:00
cleanup
This commit is contained in:
parent
ef5982e86b
commit
2e3783e4d0
@ -9,7 +9,7 @@ import { runCommand } from '../utils/command.js';
|
|||||||
import { showErrorMessage, showInfoMessage, showSuccessMessage } from '../utils/messages.js';
|
import { showErrorMessage, showInfoMessage, showSuccessMessage } from '../utils/messages.js';
|
||||||
import { checkDependencies } from '../services/nodeService.js';
|
import { checkDependencies } from '../services/nodeService.js';
|
||||||
import { saveConfig } from '../services/config.js';
|
import { saveConfig } from '../services/config.js';
|
||||||
import { getCodexRootPath, getCodexBinPath, getCodexDataDirDefaultPath, getCodexLogsPath } from '../utils/appdata.js';
|
import { getCodexRootPath, getCodexBinPath } from '../utils/appdata.js';
|
||||||
|
|
||||||
const platform = os.platform();
|
const platform = os.platform();
|
||||||
|
|
||||||
@ -68,7 +68,7 @@ export async function getCodexVersion(config) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function checkCodexInstallation(config, showNavigationMenu) {
|
export async function installCodex(config, showNavigationMenu) {
|
||||||
const version = await getCodexVersion(config);
|
const version = await getCodexVersion(config);
|
||||||
|
|
||||||
if (version.length > 0) {
|
if (version.length > 0) {
|
||||||
@ -77,15 +77,12 @@ export async function checkCodexInstallation(config, showNavigationMenu) {
|
|||||||
await showNavigationMenu();
|
await showNavigationMenu();
|
||||||
} else {
|
} else {
|
||||||
console.log(chalk.cyanBright('Codex is not installed, proceeding with installation...'));
|
console.log(chalk.cyanBright('Codex is not installed, proceeding with installation...'));
|
||||||
await installCodex(config, showNavigationMenu);
|
await performInstall(config, showNavigationMenu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function saveDefaultCodexConfig(config, codexExePath) {
|
async function saveCodexExePath(config, codexExePath) {
|
||||||
config.codexExe = codexExePath;
|
config.codexExe = codexExePath;
|
||||||
config.dataDir = getCodexDataDirDefaultPath();
|
|
||||||
config.logsDir = getCodexLogsPath();
|
|
||||||
config.storageQuota = 8 * 1024 * 1024 * 1024;
|
|
||||||
if (!fs.existsSync(config.codexExe)) {
|
if (!fs.existsSync(config.codexExe)) {
|
||||||
console.log(showErrorMessage(`Codex executable not found in expected path: ${config.codexExe}`));
|
console.log(showErrorMessage(`Codex executable not found in expected path: ${config.codexExe}`));
|
||||||
throw new Error("Exe not found");
|
throw new Error("Exe not found");
|
||||||
@ -99,12 +96,10 @@ async function saveDefaultCodexConfig(config, codexExePath) {
|
|||||||
|
|
||||||
async function clearCodexExePathFromConfig(config) {
|
async function clearCodexExePathFromConfig(config) {
|
||||||
config.codexExe = "";
|
config.codexExe = "";
|
||||||
config.dataDir = "";
|
|
||||||
config.logsDir = "";
|
|
||||||
saveConfig(config);
|
saveConfig(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function installCodex(config, showNavigationMenu) {
|
async function performInstall(config, showNavigationMenu) {
|
||||||
const agreed = await showPrivacyDisclaimer();
|
const agreed = await showPrivacyDisclaimer();
|
||||||
if (!agreed) {
|
if (!agreed) {
|
||||||
console.log(showInfoMessage('You can find manual setup instructions at docs.codex.storage'));
|
console.log(showInfoMessage('You can find manual setup instructions at docs.codex.storage'));
|
||||||
@ -129,7 +124,7 @@ export async function installCodex(config, showNavigationMenu) {
|
|||||||
await runCommand('curl -LO --ssl-no-revoke https://get.codex.storage/install.cmd');
|
await runCommand('curl -LO --ssl-no-revoke https://get.codex.storage/install.cmd');
|
||||||
await runCommand(`set "INSTALL_DIR=${installPath}" && "${process.cwd()}\\install.cmd"`);
|
await runCommand(`set "INSTALL_DIR=${installPath}" && "${process.cwd()}\\install.cmd"`);
|
||||||
|
|
||||||
await saveDefaultCodexConfig(config, path.join(installPath, "codex.exe"));
|
await saveCodexExePath(config, path.join(installPath, "codex.exe"));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await runCommand('del /f install.cmd');
|
await runCommand('del /f install.cmd');
|
||||||
@ -171,7 +166,7 @@ export async function installCodex(config, showNavigationMenu) {
|
|||||||
await runCommand(`INSTALL_DIR="${installPath}" timeout 120 bash install.sh`);
|
await runCommand(`INSTALL_DIR="${installPath}" timeout 120 bash install.sh`);
|
||||||
}
|
}
|
||||||
|
|
||||||
await saveDefaultCodexConfig(config, path.join(installPath, "codex"));
|
await saveCodexExePath(config, path.join(installPath, "codex"));
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (error.message.includes('ECONNREFUSED') || error.message.includes('ETIMEDOUT')) {
|
if (error.message.includes('ECONNREFUSED') || error.message.includes('ETIMEDOUT')) {
|
||||||
@ -190,10 +185,13 @@ export async function installCodex(config, showNavigationMenu) {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
const version = await getCodexVersion(config);
|
const version = await getCodexVersion(config);
|
||||||
|
console.log(chalk.green(version));
|
||||||
|
|
||||||
console.log(showSuccessMessage(
|
console.log(showSuccessMessage(
|
||||||
'Codex is successfully installed!\n' +
|
'Codex is successfully installed!\n' +
|
||||||
`Install path: "${config.codexExe}"\n\n` +
|
`Install path: "${config.codexExe}"\n\n` +
|
||||||
`Version: ${version}`
|
'The default configuration should work for most platforms.\n' +
|
||||||
|
'Please review the configuration before starting Codex.\n'
|
||||||
));
|
));
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw new Error('Installation completed but Codex command is not available. Please restart your terminal and try again.');
|
throw new Error('Installation completed but Codex command is not available. Please restart your terminal and try again.');
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import boxen from 'boxen';
|
|||||||
import { ASCII_ART } from './constants/ascii.js';
|
import { ASCII_ART } from './constants/ascii.js';
|
||||||
import { handleCommandLineOperation, parseCommandLineArgs } from './cli/commandParser.js';
|
import { handleCommandLineOperation, parseCommandLineArgs } from './cli/commandParser.js';
|
||||||
import { uploadFile, downloadFile, showLocalFiles } from './handlers/fileHandlers.js';
|
import { uploadFile, downloadFile, showLocalFiles } from './handlers/fileHandlers.js';
|
||||||
import { checkCodexInstallation, installCodex, uninstallCodex } from './handlers/installationHandlers.js';
|
import { installCodex, uninstallCodex } from './handlers/installationHandlers.js';
|
||||||
import { runCodex, checkNodeStatus } from './handlers/nodeHandlers.js';
|
import { runCodex, checkNodeStatus } from './handlers/nodeHandlers.js';
|
||||||
import { showInfoMessage } from './utils/messages.js';
|
import { showInfoMessage } from './utils/messages.js';
|
||||||
import { loadConfig } from './services/config.js';
|
import { loadConfig } from './services/config.js';
|
||||||
@ -99,7 +99,7 @@ export async function main() {
|
|||||||
|
|
||||||
switch (choice.split('.')[0]) {
|
switch (choice.split('.')[0]) {
|
||||||
case '1':
|
case '1':
|
||||||
await checkCodexInstallation(config, showNavigationMenu);
|
await installCodex(config, showNavigationMenu);
|
||||||
break;
|
break;
|
||||||
case '2':
|
case '2':
|
||||||
await showConfigMenu(config);
|
await showConfigMenu(config);
|
||||||
|
|||||||
@ -1,15 +1,16 @@
|
|||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { getAppDataDir } from '../utils/appdata.js';
|
import { getAppDataDir } from '../utils/appdata.js';
|
||||||
|
import { getCodexDataDirDefaultPath, getCodexLogsDefaultPath } from '../utils/appdata.js';
|
||||||
|
|
||||||
const defaultConfig = {
|
const defaultConfig = {
|
||||||
codexExe: "",
|
codexExe: "",
|
||||||
|
|
||||||
// TODO:
|
// TODO:
|
||||||
// Save user-selected config options. Use these when starting Codex.
|
// Save user-selected config options. Use these when starting Codex.
|
||||||
dataDir: "",
|
dataDir: getCodexDataDirDefaultPath(),
|
||||||
logsDir: "",
|
logsDir: getCodexLogsDefaultPath(),
|
||||||
storageQuota: 0,
|
storageQuota: 8 * 1024 * 1024 * 1024
|
||||||
// ports: {
|
// ports: {
|
||||||
// discPort: 8090,
|
// discPort: 8090,
|
||||||
// listenPort: 8070,
|
// listenPort: 8070,
|
||||||
|
|||||||
@ -19,7 +19,7 @@ export function getCodexDataDirDefaultPath() {
|
|||||||
return path.join(appData("codex"), "datadir");
|
return path.join(appData("codex"), "datadir");
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getCodexLogsPath() {
|
export function getCodexLogsDefaultPath() {
|
||||||
return ensureExists(path.join(appData("codex"), "logs"));
|
return ensureExists(path.join(appData("codex"), "logs"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user