Installation
For most users, install a prebuilt binary from the latest GitHub release. You do not need Go, Node.js, or a local checkout.
The app uses an embedded default configuration when config.yaml is not present. It creates local files such as portfolio-manager.db and portfolio-manager.log in the folder where you run it, so put the binary in a dedicated folder.
macOS and Linux
Section titled “macOS and Linux”Run the installer from Terminal:
curl -fsSL https://raw.githubusercontent.com/rodionlim/portfolio-manager-go/main/scripts/install.sh | bashThe installer downloads the right binary, asks for optional analytics settings, and starts Portfolio Manager immediately. You can press Enter through the optional prompts to keep the defaults.
After startup, open:
- Web UI and backend:
http://localhost:8080 - MCP endpoint:
http://localhost:8081/mcp
Optional Settings
Section titled “Optional Settings”The installer may ask for:
GEMINI_API_KEY: optional. Enables Gemini-backed analytics workflows.ANALYTICS_SCHEDULE: optional. Overrides the analytics collection cron schedule. Press Enter to use the app default,0 17 * * 1.
When you provide either value, the installer writes ~/portfolio-manager/portfolio-manager.env and uses it when starting the app.
Run in the Background
Section titled “Run in the Background”If you want Portfolio Manager to keep running after you close Terminal, install it as a macOS LaunchAgent or Linux systemd user service:
curl -fsSL https://raw.githubusercontent.com/rodionlim/portfolio-manager-go/main/scripts/install.sh | bash -s -- --daemonThis background setup currently targets macOS and Linux. Windows service setup can be added later.
To install without starting immediately:
curl -fsSL https://raw.githubusercontent.com/rodionlim/portfolio-manager-go/main/scripts/install.sh | bash -s -- --no-runWindows
Section titled “Windows”Open PowerShell and run:
irm https://raw.githubusercontent.com/rodionlim/portfolio-manager-go/main/scripts/install.ps1 | iexThen start it from PowerShell:
cd "$env:USERPROFILE\portfolio-manager".\portfolio-manager.exeThe backend starts on http://localhost:8080. The MCP server starts on http://localhost:8081/mcp when enabled by the embedded config.
If you need to customize ports, database location, schedules, or API keys, create a config.yaml beside the binary and start with ./portfolio-manager -config config.yaml.
Developer Requirements
Section titled “Developer Requirements”- Go
1.26.2or higher. - Node.js and npm when working on the web UI or this Astro documentation site.
Build Locally
Section titled “Build Locally”Clone the repository and build the application:
git clone https://github.com/rodionlim/portfolio-manager-go.gitcd portfolio-manager-gomakeStart the application backend with a custom config file:
./portfolio-manager -config custom-config.yamlEnvironment Variables
Section titled “Environment Variables”GEMINI_API_KEY overrides the Gemini API key configured in config.yaml.
ANALYTICS_SCHEDULE overrides the analytics cron schedule configured in config.yaml.
Proxmox VE Helper Script
Section titled “Proxmox VE Helper Script”For Proxmox LXC installation, run:
bash -c "$(wget -qLO - https://github.com/rodionlim/portfolio-manager-go/raw/main/lxc/portfolio-manager.sh)"To upgrade Portfolio Manager later, open a shell inside the LXC container and run:
updateFor environment variables in Proxmox, edit the generated systemd unit and point it at an environment file such as /etc/sysconfig/PortfolioManager.