Get Started

Set up your gallery in 5 minutes

Prerequisites

Before you begin, make sure you have:

Platform Compatibility

Goldplated Photos works on macOS, Linux, and Windows.

Feature macOS Linux Windows Windows + WSL
Dev server
Admin panel
Build
Background scripts
Deploy script

Windows Setup

Option 1: WSL2 (Recommended)

WSL2 provides full Linux compatibility inside Windows.

# Run in PowerShell as Administrator
wsl --install

# After restart, in Ubuntu terminal:
sudo apt update && sudo apt upgrade -y

# Install Node.js via nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install 20

# Install ffmpeg (optional)
sudo apt install ffmpeg -y

# Clone and run
git clone https://github.com/klukacin/goldplated-photos.git
cd goldplated-photos
npm install
npm run dev

Option 2: Native Windows (Limited)

For development only - no bash scripts or deployment.

  1. Install Node.js 20+
  2. Install Git
  3. (Optional) Install FFmpeg and add to PATH
# In PowerShell or Command Prompt
git clone https://github.com/klukacin/goldplated-photos.git
cd goldplated-photos
npm install
npm run dev

Limitations: Background scripts (dev:bg, admin:bg) and deploy won't work. Run servers in separate terminal windows instead.

Linux Setup

# Ubuntu/Debian
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install 20
sudo apt install ffmpeg rsync -y

# Fedora/RHEL
sudo dnf install nodejs ffmpeg rsync -y

# Arch Linux
sudo pacman -S nodejs npm ffmpeg rsync

macOS Setup

macOS has native compatibility. Install Node.js and optionally ffmpeg:

# Using Homebrew
brew install node ffmpeg

Quick Installation

1. Clone the Repository

git clone https://github.com/klukacin/goldplated-photos.git
cd goldplated-photos

2. Install Dependencies

npm install

3. Start Development Server

npm run dev

Visit http://localhost:4321 to see your gallery.

Adding Your First Album

1. Create Album Folder

Create a folder structure in src/content/albums/:

src/content/albums/
└── 2025/
    └── my-first-album/
        ├── index.md
        ├── photo1.jpg
        ├── photo2.jpg
        └── photo3.jpg

2. Add Album Metadata

Create an index.md file with frontmatter:

---
title: "My First Album"
description: "A collection of my favorite photos"
date: "2025-01-03"
thumbnail: "photo1.jpg"
---

3. View Your Album

Navigate to /photos/2025/my-first-album in your browser.

Using the Admin Panel

For easier content management, use the built-in admin panel:

# Start admin panel
npm run admin

Visit http://localhost:4444 to manage albums, upload photos, and edit content.

Optional: Password Protection

Add a password to your album:

---
title: "Private Album"
password: "secret123"
---

Deployment

Ready to go live? See the Deployment Guide for production setup.

Quick Deploy Steps

  1. Configure .env with your server details
  2. Run npm run deploy
  3. Your gallery is live!

Next Steps

Need More Help?

Check out the full documentation or join the community.