docs

Installation
Edited: Saturday 9 May 2026

Installation

Works with Any Text Editor - XLog doesn’t include a built-in editor. Instead, it works with your favorite text editor (Vim, Emacs, VS Code, Sublime, etc.). You edit markdown files locally, and XLog provides live preview in your browser.

Using Go

The fastest way to get started:

1go install github.com/emad-elsaid/xlog/cmd/xlog@latest

Then create your first note:

1mkdir my-notes
2cd my-notes
3echo "# Hello World" > index.md
4xlog
5# => Browse to http://localhost:3000

Download Pre-Built Binary

GitHub releases include binaries for Windows, Linux, and macOS across multiple architectures.

Download the latest version: https://github.com/emad-elsaid…

Alternative Installation Methods

From Source

1git clone git@github.com:emad-elsaid/xlog.git
2cd xlog
3go run ./cmd/xlog # to run it
4go install ./cmd/xlog # to install it to Go bin.

Arch Linux (AUR)

Xlog is published to AUR: https://aur.archlinux.org/pack…

Using yay:

1yay -S xlog-git

Docker

Releases are packaged as docker images and pushed to GitHub Container Registry:

1docker pull ghcr.io/emad-elsaid/xlog:latest
2docker run -p 3000:3000 -v ~/.xlog:/files ghcr.io/emad-elsaid/xlog:latest

The Docker container mounts ~/.xlog as a volume and will write pages to it.

Docker Compose (From Source)

1git clone git@github.com:emad-elsaid/xlog.git
2cd xlog
3docker-compose build
4docker-compose run

Editor Setup

After installation, configure your preferred text editor. XLog will use the editor specified in the -editor flag or fall back to your $EDITOR environment variable.

VS Code

Set VS Code as your default editor:

1export EDITOR="code"
2xlog -editor "code"

Or in your shell config (~/.bashrc, ~/.zshrc):

1export EDITOR="code --wait"

Vim

1export EDITOR="vim"

Emacs

1export EDITOR="emacs"

Sublime Text

1export EDITOR="subl -w"

Nano

1export EDITOR="nano"

Verification

After installation, verify XLog is working:

1# Check version
2xlog -version
3
4# Start server (creates index.md if missing)
5xlog
6
7# Open browser to http://localhost:3000

You should see XLog’s web interface. Click “Edit” on any page to open it in your configured text editor.

Troubleshooting

“Editor not found” Error

If XLog can’t find your editor:

  1. Set the EDITOR environment variable:

    1export EDITOR="vim"  # or your preferred editor
    
  2. Or specify it when running XLog:

    1xlog -editor vim
    
  3. Make sure the editor is in your PATH:

    1which vim  # should show the editor path
    

Port 3000 Already in Use

Change the bind address:

1xlog -bind :3001  # Use port 3001 instead

Permission Denied (Linux/macOS)

If installing with Go:

1# Ensure Go bin is in your PATH
2export PATH=$PATH:$(go env GOPATH)/bin

Next Steps

Upgrading

To upgrade to the latest version:

1go install github.com/emad-elsaid/xlog/cmd/xlog@latest

Or download the latest binary from the releases page.

See Upgrading for version-specific migration notes.

Backlinks