Installation
Install Joidy using Docker, curl, PowerShell, Homebrew, or AUR.
Installation
Quick Start (Docker)
git clone https://github.com/Axel-DaMage/joidy.git
cd joidy
cp .env.example .env
docker compose up -d
Images are pulled automatically from Docker Hub (d4mag3/joidy-*:latest).
Requires Docker + Docker Compose.
One-Line Install (Linux / macOS)
curl -fsSL https://raw.githubusercontent.com/Axel-DaMage/joidy/main/scripts/install.sh | bash
Clones the repo, copies .env, and installs the joidy CLI into
~/.local/bin so you can manage the stack from anywhere. Edit .env with your
credentials, then:
joidy up
Windows (PowerShell)
irm https://raw.githubusercontent.com/Axel-DaMage/joidy/main/scripts/install.ps1 | iex
Homebrew
brew tap Axel-DaMage/homebrew-tap
brew install joidy
joidy up
AUR (Arch Linux)
yay -S joidy
# or
paru -S joidy
The joidy CLI
Installed by the curl script, Homebrew, and the AUR package:
joidy up # Start the stack (auto-detects free ports if a default is taken)
joidy down # Stop all services
On system installs (where the install dir is read-only), the CLI keeps your environment and data outside the install tree:
- Config:
~/.config/joidy/.env - Data:
~/.local/share/joidy/data
Configuration
Edit .env before starting — at minimum set SECRET_KEY, GEMINI_API_KEY
(or another AI provider), and OBSIDIAN_VAULT_PATH. See
Configuration for the full reference.
Updating
docker compose pull
docker compose up -d
Or with Homebrew: brew upgrade joidy && joidy up
If you run from a git clone (source), rebuild the images after every pull —
docker compose up alone keeps serving the previously built images:
docker compose down
docker build --no-cache --pull -t d4mag3/joidy-frontend:latest --target production ./frontend
docker build --no-cache --pull -t d4mag3/joidy-api:latest ./api
docker build --no-cache --pull -t d4mag3/joidy-ai-service:latest ./ai-service
docker build --no-cache --pull -t d4mag3/joidy-worker:latest ./worker
docker compose up -d
Uninstall
docker compose down -v # Removes containers AND the postgres_data volume — all data!