Terminal 03
Last login: Fri Aug 29 22:49:40 on ttys007
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % curl -s
http://127.0.0.1:8000/health
{"status":"ok","model":"v1.0","backend":"model"}%
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % git clone
https://github.com/ShauryaPunj/SolarSage-AI.git
cd SolarSage-AI
docker build -t solar-sage-api .
docker run -p 8000:8000 solar-sage-api
Cloning into 'SolarSage-AI'...
remote: Enumerating objects: 2406, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 2406 (delta 0), reused 0 (delta 0), pack-reused 2403 (from 2)
Receiving objects: 100% (2406/2406), 1.17 GiB | 5.88 MiB/s, done.
Resolving deltas: 100% (9/9), done.
Updating files: 100% (2963/2963), done.
[+] Building 0.0s (1/1) FINISHED
docker:colima
=> [internal] load build definition from Dockerfile
0.0s
=> => transferring dockerfile: 2B
0.0s
ERROR: failed to build: failed to solve: failed to read dockerfile: open Dockerfile: no such file or
directory
docker: Error response from daemon: failed to set up container networking: driver failed
programming external connectivity on endpoint festive_kare
(89d07c1f4689babd990a634d76f77d5c0b579aceb1b02690213a9f4fd6bc5f98): Bind for
0.0.0.0:8000 failed: port is already allocated
Run 'docker run --help' for more information
shauryapunj@Shauryas-MacBook-Air SolarSage-AI % cd ~/Desktop/Solar_Sage_AI_public
npm install --save-dev electron-builder
npm warn skipping integrity check for git dependency ssh://git@github.com/electron/node-gyp.git
npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm warn deprecated @npmcli/move-file@2.0.1: This functionality has been moved to
@npmcli/fs
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not
use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a
key value, which is much more comprehensive and powerful.
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated rimraf@2.6.3: Rimraf versions prior to v4 are no longer supported
npm warn deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
added 310 packages, and audited 382 packages in 26s
64 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % npm run dist
> solar-sage-ai@1.0.0 dist
> electron-builder
• electron-builder version=26.0.12 os=24.6.0
• loaded configuration file=package.json ("build" field)
• description is missed in the package.json
appPackageFile=/Users/shauryapunj/Desktop/Solar_Sage_AI_public/package.json
• author is missed in the package.json
appPackageFile=/Users/shauryapunj/Desktop/Solar_Sage_AI_public/package.json
• writing effective config file=dist/builder-effective-config.yaml
• executing @electron/rebuild electronVersion=31.7.7 arch=arm64 buildFromSource=false
appDir=./
• installing native dependencies arch=arm64
• completed installing native dependencies
• packaging platform=darwin arch=arm64 electron=31.7.7 appOutDir=dist/mac-arm64
• downloading
url=https://github.com/electron/electron/releases/download/v31.7.7/electron-v31.7.7-darwin-arm6
4.zip size=97 MB parts=8
• downloaded
url=https://github.com/electron/electron/releases/download/v31.7.7/electron-v31.7.7-darwin-arm6
4.zip duration=15.2s
• asar usage is disabled — this is strongly not recommended solution=enable asar and use
asarUnpack to unpack files that must be externally available
(node:11240) [DEP0190] DeprecationWarning: Passing args to a child process with shell option
true can lead to security vulnerabilities, as the arguments are not escaped, only concatenated.
(Use `node --trace-deprecation ...` to show where the warning was created)
• default Electron icon is used reason=application icon is not set
• asar usage is disabled — this is strongly not recommended solution=enable asar and use
asarUnpack to unpack files that must be externally available
• skipped macOS application code signing reason=cannot find valid "Developer ID Application"
identity or custom non-Apple code signing certificate, it could cause some undefined behaviour,
e.g. macOS localized description not visible, see https://electron.build/code-signing allIdentities=
0 identities found
Valid identities only
0 valid identities found
• building target=DMG arch=arm64 file=dist/solar-sage-ai-1.0.0-arm64.dmg
• building target=macOS zip arch=arm64 file=dist/solar-sage-ai-1.0.0-arm64-mac.zip
• building block map blockMapFile=dist/solar-sage-ai-1.0.0-arm64.dmg.blockmap
• building block map blockMapFile=dist/solar-sage-ai-1.0.0-arm64-mac.zip.blockmap
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % cd
~/Desktop/Solar_Sage_AI_public
npm install
npm run dist # creates dist/solar-sage-ai-1.0.0-arm64.dmg
up to date, audited 382 packages in 1s
64 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
> solar-sage-ai@1.0.0 dist
> electron-builder # creates dist/solar-sage-ai-1.0.0-arm64.dmg
electron-builder build
Build
Commands:
electron-builder build Build [default]
electron-builder install-app-deps Install app deps
electron-builder node-gyp-rebuild Rebuild own native code
electron-builder publish Publish a list of artifacts
electron-builder create-self-signed-cert Create self-signed code signing cert
for Windows apps
electron-builder start Run application in a development
mode using electron-webpack
Building:
-m, -o, --mac, --macos Build for macOS, accepts target list (see
https://goo.gl/5uHuzj). [array]
-l, --linux Build for Linux, accepts target list (see
https://goo.gl/4vwQad) [array]
-w, --win, --windows Build for Windows, accepts target list (see
https://goo.gl/jYsTEJ) [array]
--x64 Build for x64 [boolean]
--ia32 Build for ia32 [boolean]
--armv7l Build for armv7l [boolean]
--arm64 Build for arm64 [boolean]
--universal Build for universal [boolean]
--dir Build unpacked dir. Useful to test. [boolean]
--prepackaged, --pd The path to prepackaged app (to pack in a
distributable format)
--projectDir, --project The path to project directory. Defaults to
current working directory.
-c, --config The path to an electron-builder config. Defaults
to `electron-builder.yml` (or `json`, or `json5`,
or `js`, or `ts`), see https://goo.gl/YFRJOM
Publishing:
-p, --publish Publish artifacts, see https://goo.gl/tSFycD
[choices: "onTag", "onTagOrDraft", "always", "never", undefined]
Other:
--help Show help [boolean]
--version Show version number [boolean]
Examples:
electron-builder -mwl build for macOS, Windows and Linux
electron-builder --linux deb tar.xz build deb and tar.xz for Linux
electron-builder --win --ia32 build for Windows ia32
electron-builder set package.json property `foo` to
-c.extraMetadata.foo=bar `bar`
electron-builder configure unicode options for NSIS
--config.nsis.unicode=false
See https://electron.build for more documentation.
Unknown arguments: #, creates, dist/solar-sage-ai-1.0.0-arm64.dmg
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % ls dist/
builder-debug.yml mac-arm64
solar-sage-ai-1.0.0-arm64.dmg
builder-effective-config.yaml solar-sage-ai-1.0.0-arm64-mac.zip
solar-sage-ai-1.0.0-arm64.dmg.blockmap
latest-mac.yml solar-sage-ai-1.0.0-arm64-mac.zip.blockmap
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % mkdir -p .github/workflows
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % name: Build Solar Sage App
on:
push:
tags:
- 'v*' # runs on version tags like v1.0.0
workflow_dispatch: # manual trigger
jobs:
build:
runs-on: windows-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install dependencies
run: npm install
- name: Build Windows .exe
run: npm run dist:win
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: solar-sage-windows
path: dist/*.exe
zsh: command not found: name:
zsh: command not found: on:
zsh: command not found: push:
zsh: command not found: tags:
zsh: command not found: v*
zsh: command not found: workflow_dispatch:
zsh: command not found: jobs:
zsh: command not found: build:
zsh: command not found: runs-on:
zsh: command not found: steps:
zsh: command not found: name:
zsh: command not found: uses:
zsh: command not found: name:
zsh: command not found: uses:
zsh: command not found: with:
zsh: command not found: node-version:
zsh: command not found: name:
zsh: command not found: run:
zsh: command not found: name:
zsh: command not found: run:
zsh: command not found: name:
zsh: command not found: uses:
zsh: command not found: with:
zsh: command not found: name:
zsh: no matches found: dist/*.exe
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % cd
~/Desktop/Solar_Sage_AI_public
mkdir -p .github/workflows
cat > .github/workflows/build.yml <<'YAML'
name: Build Solar Sage App
on:
push:
tags:
- 'v*' # runs on version tags like v1.0.0
workflow_dispatch: {} # manual trigger
jobs:
build-windows:
runs-on: windows-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 18
- name: Install dependencies
run: npm install
- name: Build Windows .exe
run: npm run dist:win
- name: Upload Windows artifacts
uses: actions/upload-artifact@v4
with:
name: solar-sage-windows
path: dist/*.exe
YAML
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % git add
.github/workflows/build.yml
git commit -m "CI: add Windows .exe build workflow"
git push
[main ba8673d] CI: add Windows .exe build workflow
1 file changed, 31 insertions(+)
create mode 100644 .github/workflows/build.yml
To https://github.com/ShauryaPunj/SolarSage-AI.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'https://github.com/ShauryaPunj/SolarSage-AI.git'
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % git tag v1.0.1
git push origin v1.0.1
Enumerating objects: 20, done.
Counting objects: 100% (20/20), done.
Delta compression using up to 8 threads
Compressing objects: 100% (12/12), done.
Writing objects: 100% (14/14), 445.07 KiB | 37.09 MiB/s, done.
Total 14 (delta 5), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Resolving deltas: 100% (5/5), completed with 4 local objects.
To https://github.com/ShauryaPunj/SolarSage-AI.git
! [remote rejected] v1.0.1 -> v1.0.1 (refusing to allow a Personal Access Token to create or
update workflow `.github/workflows/build.yml` without `workflow` scope)
error: failed to push some refs to 'https://github.com/ShauryaPunj/SolarSage-AI.git'
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % cd
~/Desktop/Solar_Sage_AI_public
git fetch origin
git pull --rebase origin main
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (3/3), 1.56 KiB | 319.00 KiB/s, done.
From https://github.com/ShauryaPunj/SolarSage-AI
f733d2f..b105c98 main -> origin/main
error: cannot pull with rebase: You have unstaged changes.
error: Please commit or stash them.
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % git pull --rebase origin main
git tag -f v1.0.1
git push origin v1.0.1 -f
error: cannot pull with rebase: You have unstaged changes.
error: Please commit or stash them.
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (5/5), 714 bytes | 714.00 KiB/s, done.
Total 5 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/ShauryaPunj/SolarSage-AI.git
! [remote rejected] v1.0.1 -> v1.0.1 (refusing to allow a Personal Access Token to create or
update workflow `.github/workflows/build.yml` without `workflow` scope)
error: failed to push some refs to 'https://github.com/ShauryaPunj/SolarSage-AI.git'
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % cd
~/Desktop/Solar_Sage_AI_public
git add .
git stash
warning: adding embedded git repository: SolarSage-AI
hint: You've added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the contents of
hint: the embedded repository and will not know how to obtain it.
hint: If you meant to add a submodule, use:
hint:
hint: git submodule add <url> SolarSage-AI
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint: git rm --cached SolarSage-AI
hint:
hint: See "git help submodule" for more information.
hint: Disable this message with "git config set advice.addEmbeddedRepo false"
Saved working directory and index state WIP on main: ba8673d CI: add Windows .exe build
workflow
warning: unable to rmdir 'SolarSage-AI': Directory not empty
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % git pull --rebase origin main
From https://github.com/ShauryaPunj/SolarSage-AI
* branch main -> FETCH_HEAD
Successfully rebased and updated refs/heads/main.
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % git stash pop
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
(use "git push" to publish your local commits)
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: Dockerfile
new file: SolarSage-AI
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: package-lock.json
modified: package.json
modified: requirements.txt
Dropped refs/stash@{0} (ba6ea32d4f75b1f80d79c0b6a7f01b91d622367b)
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % git pull origin main
From https://github.com/ShauryaPunj/SolarSage-AI
* branch main -> FETCH_HEAD
Already up to date.
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % git tag v1.0.1
git push origin v1.0.1
fatal: tag 'v1.0.1' already exists
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (5/5), 714 bytes | 714.00 KiB/s, done.
Total 5 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/ShauryaPunj/SolarSage-AI.git
! [remote rejected] v1.0.1 -> v1.0.1 (refusing to allow a Personal Access Token to create or
update workflow `.github/workflows/build.yml` without `workflow` scope)
error: failed to push some refs to 'https://github.com/ShauryaPunj/SolarSage-AI.git'
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % git tag -d v1.0.1
git push origin :refs/tags/v1.0.1
Deleted tag 'v1.0.1' (was ba8673d)
To https://github.com/ShauryaPunj/SolarSage-AI.git
- [deleted] v1.0.1
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % git pull origin main
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 5 (delta 1), reused 3 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 1.30 KiB | 332.00 KiB/s, done.
From https://github.com/ShauryaPunj/SolarSage-AI
* branch main -> FETCH_HEAD
b105c98..84fa1cc main -> origin/main
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint:
hint: git config pull.rebase false # merge
hint: git config pull.rebase true # rebase
hint: git config pull.ff only # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
fatal: Need to specify how to reconcile divergent branches.
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % git tag v1.0.2
git push origin v1.0.2
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (5/5), 722 bytes | 722.00 KiB/s, done.
Total 5 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/ShauryaPunj/SolarSage-AI.git
* [new tag] v1.0.2 -> v1.0.2
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % git tag v1.0.3
git push origin v1.0.3
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To https://github.com/ShauryaPunj/SolarSage-AI.git
* [new tag] v1.0.3 -> v1.0.3
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % git tag v1.0.4
git push origin v1.0.4
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To https://github.com/ShauryaPunj/SolarSage-AI.git
* [new tag] v1.0.4 -> v1.0.4
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public %
~/Desktop/Solar_Sage_AI_public/dist/
zsh: permission denied: /Users/shauryapunj/Desktop/Solar_Sage_AI_public/dist/
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public %
Terminal 02
Last login: Fri Aug 29 22:49:03 on ttys007
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % curl -s
http://127.0.0.1:8000/health
{"status":"ok","model":"v1.0","backend":"model"}%
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % brew install colima docker
==> Downloading https://formulae.brew.sh/api/formula.jws.json
==> Downloading https://formulae.brew.sh/api/cask.jws.json
==> Fetching downloads for: colima and docker
==> Downloading https://ghcr.io/v2/homebrew/core/colima/manifests/0.8.4
#############################################################################
#############################################################################
# 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/docker/manifests/28.3.3
#############################################################################
#############################################################################
# 100.0%
==> Fetching dependencies for colima: lima
==> Downloading https://ghcr.io/v2/homebrew/core/lima/manifests/1.2.1
#############################################################################
#############################################################################
# 100.0%
==> Fetching lima
==> Downloading
https://ghcr.io/v2/homebrew/core/lima/blobs/sha256:d0f6fe33566069289518680dfe58a4488
ad03bacb30edbeec3c75f9d62ecb707
#############################################################################
#############################################################################
# 100.0%
==> Fetching colima
==> Downloading
https://ghcr.io/v2/homebrew/core/colima/blobs/sha256:0dd80b243b8ea502c1974803d55d1
901d52382c75996fec7a1ddaa5ecd177dca
#############################################################################
#############################################################################
# 100.0%
==> Fetching dependencies for docker: docker-completion
==> Downloading https://ghcr.io/v2/homebrew/core/docker-completion/manifests/28.3.3
#############################################################################
#############################################################################
# 100.0%
==> Fetching docker-completion
==> Downloading
https://ghcr.io/v2/homebrew/core/docker-completion/blobs/sha256:dfac0b82af84f781b73c
2e407de67672a5a3f5ae1a4f1cccc079e01cedfc40d4
#############################################################################
#############################################################################
# 100.0%
==> Fetching docker
==> Downloading
https://ghcr.io/v2/homebrew/core/docker/blobs/sha256:4556f02e4a6768d151f6e4c63dc44e
cef119bb46d1a982d471cdf0f87db5ba5b
#############################################################################
#############################################################################
# 100.0%
==> Installing colima dependency: lima
==> Downloading https://ghcr.io/v2/homebrew/core/lima/manifests/1.2.1
Already downloaded:
/Users/shauryapunj/Library/Caches/Homebrew/downloads/2e63dd49ea7c7cbbe10fd8387025835
8821dfc9619295e904d4183dfb8ca763a--lima-1.2.1.bottle_manifest.json
🍺
==> Pouring lima--1.2.1.arm64_sequoia.bottle.tar.gz
/opt/homebrew/Cellar/lima/1.2.1: 104 files, 40.2MB
==> Pouring colima--0.8.4.arm64_sequoia.bottle.tar.gz
==> Caveats
To start colima now and restart at login:
brew services start colima
Or, if you don't want/need a background service you can just run:
/opt/homebrew/opt/colima/bin/colima start -f
🍺
==> Summary
/opt/homebrew/Cellar/colima/0.8.4: 11 files, 5.9MB
==> Running `brew cleanup colima`...
Disable this behaviour by setting `HOMEBREW_NO_INSTALL_CLEANUP=1`.
Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
==> Installing docker dependency: docker-completion
==> Downloading https://ghcr.io/v2/homebrew/core/docker-completion/manifests/28.3.3
Already downloaded:
/Users/shauryapunj/Library/Caches/Homebrew/downloads/d7ddef8ae986e3778f2e3f51d91dafe0
12b26241a920ad97d156aed6fa2c053e--docker-completion-28.3.3.bottle_manifest.json
==> Pouring docker-completion--28.3.3.all.bottle.tar.gz
Warning: These files were overwritten during the `brew link` step:
/opt/homebrew/etc/bash_completion.d/docker
/opt/homebrew/share/fish/vendor_completions.d/docker.fish
/opt/homebrew/share/zsh/site-functions/_docker
They have been backed up to: /Users/shauryapunj/Library/Caches/Homebrew/Backup
🍺
==> Summary
/opt/homebrew/Cellar/docker-completion/28.3.3: 10 files, 342.8KB
==> Pouring docker--28.3.3.arm64_sequoia.bottle.tar.gz
🍺
==> docker cask is installed, skipping link.
/opt/homebrew/Cellar/docker/28.3.3: 13 files, 26.8MB
==> Running `brew cleanup docker`...
==> No outdated dependents to upgrade!
==> Caveats
zsh completions have been installed to:
/opt/homebrew/share/zsh/site-functions
==> colima
To start colima now and restart at login:
brew services start colima
Or, if you don't want/need a background service you can just run:
/opt/homebrew/opt/colima/bin/colima start -f
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % colima start
INFO[0001] starting colima
INFO[0001] runtime: docker
INFO[0002] creating and starting ... context=vm
INFO[0002] downloading disk image ... context=vm
INFO[0075] provisioning ... context=docker
INFO[0076] starting ... context=docker
INFO[0077] done
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % docker --version
Docker version 28.3.3, build 980b856
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % docker --version
Docker version 28.3.3, build 980b856
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % cd
~/Desktop/Solar_Sage_AI_public
docker build -t solar-sage-api:latest .
[+] Building 65.3s (13/13) FINISHED
docker:colima
=> [internal] load build definition from Dockerfile
0.0s
=> => transferring dockerfile: 561B
0.0s
=> [internal] load metadata for docker.io/library/python:3.12-slim
7.8s
=> [auth] library/python:pull token for registry-1.docker.io
0.0s
=> [internal] load .dockerignore
0.0s
=> => transferring context: 2B
0.0s
=> [1/7] FROM
docker.io/library/python:3.12-slim@sha256:d67a7b66b989ad6b6d6b10d428dcc5e0bfc3e5f88906
e67d490c4d3daac57047 8.5s
=> => resolve
docker.io/library/python:3.12-slim@sha256:d67a7b66b989ad6b6d6b10d428dcc5e0bfc3e5f88906
e67d490c4d3daac57047 0.0s
=> => sha256:36d983c178a06f2be8270a47a21f02ba9618771919e20e0ba847592826b79c2a
249B / 249B 0.8s
=> => sha256:7b5dfa58994b71320b90f4e4e2ced96f1ae3f6468038e81cf1e27a0e5d7b3c8d
12.04MB / 12.04MB 5.0s
=> => sha256:3cd5add3ba3330f959ed1b27096bfb25e2f29a4cf327009d69855a903036f3af
1.27MB / 1.27MB 2.0s
=> => sha256:9a6263cdeaa5d408640880103ee36920ef814974ca8e2674412ad6460e8968c9
30.14MB / 30.14MB 7.7s
=> => extracting
sha256:9a6263cdeaa5d408640880103ee36920ef814974ca8e2674412ad6460e8968c9
0.5s
=> => extracting
sha256:3cd5add3ba3330f959ed1b27096bfb25e2f29a4cf327009d69855a903036f3af
0.0s
=> => extracting
sha256:7b5dfa58994b71320b90f4e4e2ced96f1ae3f6468038e81cf1e27a0e5d7b3c8d
0.2s
=> => extracting
sha256:36d983c178a06f2be8270a47a21f02ba9618771919e20e0ba847592826b79c2a
0.0s
=> [internal] load build context
0.2s
=> => transferring context: 44.77MB
0.2s
=> [2/7] WORKDIR /app
0.1s
=> [3/7] RUN apt-get update && apt-get install -y --no-install-recommends libgomp1 curl &&
rm -rf /var/lib/apt/lists/* 16.8s
=> [4/7] COPY requirements.txt .
0.0s
=> [5/7] RUN pip install --no-cache-dir -r requirements.txt
23.4s
=> [6/7] COPY service ./service
0.2s
=> [7/7] RUN mkdir -p /app/uploads
0.1s
=> exporting to image
8.3s
=> => exporting layers
6.0s
=> => exporting manifest
sha256:863322a54ee9b74811879bf19c399a4a45b0fcb74a49cea98e2755f23c2364a9
0.0s
=> => exporting config
sha256:5d3d446303455eaaa9cc6b3a7eefa4c8e445a540bb976576a851d6a5f33686b7
0.0s
=> => exporting attestation manifest
sha256:7171f1689da4929b8f81363c5e6dc8a9f539c3f0fe136e0c8d9ed8d86c7e80ee
0.0s
=> => exporting manifest list
sha256:43aaf95fe83cf9c935516e4d590d950edd65b935448e14a40d932086e1b3d3db
0.0s
=> => naming to docker.io/library/solar-sage-api:latest
0.0s
=> => unpacking to docker.io/library/solar-sage-api:latest
2.3s
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % docker run --rm -p 8000:8000 \
-v "$(pwd)/uploads:/app/uploads" \
--name solar-sage-api \
solar-sage-api:latest
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
Terminal 01
Last login: Fri Aug 29 17:14:16 on ttys005
shauryapunj@Shauryas-MacBook-Air ~ % cd ~/Desktop/Solar_Sage_AI_public
cat > Dockerfile <<'EOF'
FROM python:3.12-slim
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1
WORKDIR /app
# Needed for onnxruntime (OpenMP)
RUN apt-get update && apt-get install -y --no-install-recommends libgomp1 curl \
&& rm -rf /var/lib/apt/lists/*
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy only the API code + model
COPY service ./service
# Optional: make a place for uploads
RUN mkdir -p /app/uploads
EXPOSE 8000
CMD ["uvicorn","service.app:app","--host","0.0.0.0","--port","8000"]
EOF
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % docker build -t
solar-sage-api:latest .
zsh: command not found: docker
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % brew install --cask docker
==> Auto-updating Homebrew...
Adjust how often this is run with `$HOMEBREW_AUTO_UPDATE_SECS` or disable with
`$HOMEBREW_NO_AUTO_UPDATE=1`. Hide these hints with
`$HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
==> Auto-updated Homebrew!
Updated 1 tap (shivammathur/php).
You have 19 outdated formulae installed.
==> Downloading
https://raw.githubusercontent.com/Homebrew/homebrew-cask/55fdd46a247cacbb836a420
6dfbbde7ed39e72b3/Casks/d/docker-desktop.rb
#############################################################################
#############################################################################
# 100.0%
==> Downloading https://desktop.docker.com/mac/main/arm64/203075/Docker.dmg
#############################################################################
#############################################################################
# 100.0%
==> Installing Cask docker-desktop
==> Moving App 'Docker.app' to '/Applications/Docker.app'
==> Linking Bash Completion 'docker-compose.bash-completion' to
'/opt/homebrew/etc/bash_completion.d/docker-compose'
==> Linking Bash Completion 'docker.bash-completion' to
'/opt/homebrew/etc/bash_completion.d/docker'
==> Linking Fish Completion 'docker-compose.fish-completion' to
'/opt/homebrew/share/fish/vendor_completions.d/docker-compose.fish'
==> Linking Fish Completion 'docker.fish-completion' to
'/opt/homebrew/share/fish/vendor_completions.d/docker.fish'
==> Linking Zsh Completion 'docker-compose.zsh-completion' to
'/opt/homebrew/share/zsh/site-functions/_docker-compose'
==> Linking Zsh Completion 'docker.zsh-completion' to
'/opt/homebrew/share/zsh/site-functions/_docker'
==> Linking Binary 'docker-compose' to '/usr/local/cli-plugins/docker-compose'
Password:
==> Linking Binary 'hub-tool' to '/usr/local/bin/hub-tool'
==> Linking Binary 'kubectl' to '/usr/local/bin/kubectl.docker'
==> Linking Binary 'docker' to '/usr/local/bin/docker'
==> Linking Binary 'docker-credential-desktop' to
'/usr/local/bin/docker-credential-desktop'
==> Linking Binary 'docker-credential-ecr-login' to
'/usr/local/bin/docker-credential-ecr-login'
==> Linking Binary 'docker-credential-osxkeychain' to
🍺
'/usr/local/bin/docker-credential-osxkeychain'
docker-desktop was successfully installed!
==> No outdated dependents to upgrade!
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % open -a Docker
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % docker --version
Docker version 28.3.3, build 980b856
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % cd
~/Desktop/Solar_Sage_AI_public
docker build -t solar-sage-api:latest .
[+] Building 59.0s (13/13) FINISHED
docker:desktop-linux
=> [internal] load build definition from Dockerfile
0.0s
=> => transferring dockerfile: 561B
0.0s
=> [internal] load metadata for docker.io/library/python:3.12-slim
7.6s
=> [auth] library/python:pull token for registry-1.docker.io
0.0s
=> [internal] load .dockerignore
0.1s
=> => transferring context: 2B
0.0s
=> [1/7] FROM
docker.io/library/python:3.12-slim@sha256:d67a7b66b989ad6b6d6b10d428dcc5e0bfc3e5f88906
e67d490c4d3daac57047 8.2s
=> => resolve
docker.io/library/python:3.12-slim@sha256:d67a7b66b989ad6b6d6b10d428dcc5e0bfc3e5f88906
e67d490c4d3daac57047 0.0s
=> => sha256:36d983c178a06f2be8270a47a21f02ba9618771919e20e0ba847592826b79c2a
249B / 249B 0.8s
=> => sha256:7b5dfa58994b71320b90f4e4e2ced96f1ae3f6468038e81cf1e27a0e5d7b3c8d
12.04MB / 12.04MB 5.1s
=> => sha256:3cd5add3ba3330f959ed1b27096bfb25e2f29a4cf327009d69855a903036f3af
1.27MB / 1.27MB 1.5s
=> => sha256:9a6263cdeaa5d408640880103ee36920ef814974ca8e2674412ad6460e8968c9
30.14MB / 30.14MB 7.6s
=> => extracting
sha256:9a6263cdeaa5d408640880103ee36920ef814974ca8e2674412ad6460e8968c9
0.4s
=> => extracting
sha256:3cd5add3ba3330f959ed1b27096bfb25e2f29a4cf327009d69855a903036f3af
0.0s
=> => extracting
sha256:7b5dfa58994b71320b90f4e4e2ced96f1ae3f6468038e81cf1e27a0e5d7b3c8d
0.2s
=> => extracting
sha256:36d983c178a06f2be8270a47a21f02ba9618771919e20e0ba847592826b79c2a
0.0s
=> [internal] load build context
0.4s
=> => transferring context: 44.77MB
0.4s
=> [2/7] WORKDIR /app
0.1s
=> [3/7] RUN apt-get update && apt-get install -y --no-install-recommends libgomp1 curl &&
rm -rf /var/lib/apt/lists/* 6.2s
=> [4/7] COPY requirements.txt .
0.0s
=> [5/7] RUN pip install --no-cache-dir -r requirements.txt
28.0s
=> [6/7] COPY service ./service
0.1s
=> [7/7] RUN mkdir -p /app/uploads
0.1s
=> exporting to image
8.5s
=> => exporting layers
6.4s
=> => exporting manifest
sha256:48d5d522acac5ec57711bcc6275322d16cff795df43e483ba5045087ca429fa2
0.0s
=> => exporting config
sha256:c10b4df0808a7e01a20b050c38d2523f35b3cf8cc33186a4e4c054290c71b5c0
0.0s
=> => exporting attestation manifest
sha256:dc1ae4320b873a9cbc3023f317000a43dfa9bf9af0fdb5ed78979269974a6d86
0.0s
=> => exporting manifest list
sha256:c003050912ce8aecee3a6a62bdc6bcd4a0c64414903e562d6159812f5bcf0a69
0.0s
=> => naming to docker.io/library/solar-sage-api:latest
0.0s
=> => unpacking to docker.io/library/solar-sage-api:latest
2.1s
shauryapunj@Shauryas-MacBook-Air Solar_Sage_AI_public % # stop any local uvicorn just in
case
pkill -f "uvicorn.*service.app:app.*8000" || true
docker run --rm -p 8000:8000 \
-v "$(pwd)/uploads:/app/uploads" \
--name solar-sage-api \
solar-sage-api:latest
zsh: command not found: #
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO: 192.168.65.1:34715 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:56849 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:52064 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:57195 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:55728 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:61967 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:44937 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:18330 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:28732 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:63617 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:27420 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:55432 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:32095 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:58896 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:47442 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:49329 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:48357 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:35102 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:47197 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:21081 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:65057 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:16699 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:29514 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:21539 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:57771 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:55786 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:47793 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:31066 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:39410 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:31542 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:30406 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:16213 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:58532 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:21617 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:58121 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:51101 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:19732 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:36726 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:31092 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:65125 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:35527 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:24010 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:60981 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:46393 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:18652 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:24764 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:50242 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:30023 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:56539 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:61785 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:27407 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:52237 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:50378 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:60034 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:45404 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:49230 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:37832 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:44019 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:20142 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:39762 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:61625 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:21556 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:57954 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:26388 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:42705 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:60017 - "GET /health HTTP/1.1" 200 OK
INFO: 192.168.65.1:50486 - "GET /health HTTP/1.1" 200 OK