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:latestDocker Hub: hub.docker.com/r/tedcharles/galleria
2. Create Data Directory
Create a directory to store your photos and database:
mkdir -p ~/galleria-data3. 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:latest4. 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 Galleria2. Install Dependencies
npm install
cd backend && npm install
cd ../frontend && npm install
cd ..3. Start Development Server
npm run devThis 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 --buildEdit docker-compose.yml to customize ports and environment variables.
Configuration
Configuration is managed through environment variables or the admin panel.
Environment Variables
| Variable | Description | Example |
|---|---|---|
| DATA_DIR | Directory for photos and database | /data |
| FRONTEND_DOMAIN | Public URL of your site | https://yourdomain.com |
| BACKEND_DOMAIN | API endpoint URL | https://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:
- 1. Navigate to /admin to access the admin panel
- 2. Create albums and upload your photos
- 3. Customize your site in Settings (branding, SEO, language, etc.)
- Read the full documentation
- View source code on GitHub