Commit 66bbf059 authored by Jeffrey Morgan's avatar Jeffrey Morgan
Browse files

start server in both dev and when packaged

parent 2d49197b
...@@ -38,27 +38,10 @@ if (require('electron-squirrel-startup')) { ...@@ -38,27 +38,10 @@ if (require('electron-squirrel-startup')) {
const ollama = path.join(process.resourcesPath, 'ollama') const ollama = path.join(process.resourcesPath, 'ollama')
// if the app is packaged then run the server
if (app.isPackaged) {
// Start the executable
console.log(`Starting server`)
const proc = spawn(ollama, ['serve'])
proc.stdout.on('data', data => {
console.log(`server: ${data}`)
})
proc.stderr.on('data', data => {
console.error(`server: ${data}`)
})
process.on('exit', () => {
proc.kill()
})
}
function server() { function server() {
const binary = app.isPackaged const binary = app.isPackaged
? path.join(process.resourcesPath, 'ollama') ? path.join(process.resourcesPath, 'ollama')
: path.resolve(__dirname, '..', '..', 'ollama') : path.resolve(process.cwd(), '..', 'ollama')
console.log(`Starting server`) console.log(`Starting server`)
const proc = spawn(binary, ['serve']) const proc = spawn(binary, ['serve'])
...@@ -118,44 +101,46 @@ app.on('ready', () => { ...@@ -118,44 +101,46 @@ app.on('ready', () => {
app.setLoginItemSettings({ openAtLogin: app.getLoginItemSettings().openAtLogin }) app.setLoginItemSettings({ openAtLogin: app.getLoginItemSettings().openAtLogin })
} }
if (!app.isInApplicationsFolder()) { if (app.isPackaged) {
const chosen = dialog.showMessageBoxSync({ if (!app.isInApplicationsFolder()) {
type: 'question', const chosen = dialog.showMessageBoxSync({
buttons: ['Move to Applications', 'Do Not Move'], type: 'question',
message: 'Ollama works best when run from the Applications directory.', buttons: ['Move to Applications', 'Do Not Move'],
defaultId: 0, message: 'Ollama works best when run from the Applications directory.',
cancelId: 1, defaultId: 0,
}) cancelId: 1,
})
if (chosen === 0) {
try { if (chosen === 0) {
app.moveToApplicationsFolder({ try {
conflictHandler: conflictType => { app.moveToApplicationsFolder({
if (conflictType === 'existsAndRunning') { conflictHandler: conflictType => {
dialog.showMessageBoxSync({ if (conflictType === 'existsAndRunning') {
type: 'info', dialog.showMessageBoxSync({
message: 'Cannot move to Applications directory', type: 'info',
detail: message: 'Cannot move to Applications directory',
'Another version of Ollama is currently running from your Applications directory. Close it first and try again.', detail:
}) 'Another version of Ollama is currently running from your Applications directory. Close it first and try again.',
} })
return true }
}, return true
}) },
return })
} catch (e) { return
console.error('Failed to move to applications folder') } catch (e) {
console.error(e) console.error('Failed to move to applications folder')
console.error(e)
}
} }
} }
installCLI()
} }
} }
createSystemtray() createSystemtray()
if (app.isPackaged) { server()
installCLI()
}
}) })
// Quit when all windows are closed, except on macOS. There, it's common // Quit when all windows are closed, except on macOS. There, it's common
......
...@@ -4,8 +4,6 @@ import Store from 'electron-store' ...@@ -4,8 +4,6 @@ import Store from 'electron-store'
const store = new Store() const store = new Store()
console.log(process.env)
export const analytics = new Analytics({ writeKey: process.env.TELEMETRY_WRITE_KEY || '<empty>' }) export const analytics = new Analytics({ writeKey: process.env.TELEMETRY_WRITE_KEY || '<empty>' })
export function id(): string { export function id(): string {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment