Installation

Get your Galleria photography portfolio up and running in minutes with Docker or development mode.

Prerequisites

Before you begin, make sure you have one of the following:

  • For Docker deployment (Recommended): Docker & Docker Compose
  • For development: Node.js 18+ and npm
  • Optional: Google OAuth credentials (password auth works without it)

Quick Start with Docker Hub

The fastest way to get started is using our pre-built Docker images.

1. Pull the Docker Image

# Pull latest production image
docker pull tedcharles/galleria:latest

2. Create Data Directory

Create a directory to store your photos and database:

mkdir -p ~/galleria-data

3. Run the Container

docker run -d \
  --name galleria \
  -p 3000:3000 \
  -p 3001:3001 \
  -v ~/galleria-data:/data \
  -e DATA_DIR=/data \
  -e FRONTEND_DOMAIN=http://localhost:3000 \
  -e BACKEND_DOMAIN=http://localhost:3001 \
  tedcharles/galleria:latest

4. Access Your Site

Open your browser and navigate to:

The setup wizard will guide you through initial configuration on first visit.

Development Setup

For development or contributing to Galleria:

1. Clone the Repository

git clone https://github.com/theodorecharles/Galleria.git
cd Galleria

2. Install Dependencies

npm install
cd backend && npm install
cd ../frontend && npm install
cd ..

3. Start Development Server

npm run dev

This starts both frontend and backend in development mode with hot reload.

Docker Compose Setup

For building and running from source with Docker Compose:

git clone https://github.com/theodorecharles/Galleria.git
cd Galleria
mkdir -p ~/galleria-data
docker-compose up -d --build

Edit docker-compose.yml to customize ports and environment variables.

Configuration

Configuration is managed through environment variables or the admin panel.

Environment Variables

VariableDescriptionExample
DATA_DIRDirectory for photos and database/data
FRONTEND_DOMAINPublic URL of your sitehttps://yourdomain.com
BACKEND_DOMAINAPI endpoint URLhttps://api.yourdomain.com

Admin Panel Configuration: After initial setup, all settings can be managed through the admin panel at /admin → Settings

Next Steps

Now that you have Galleria installed: