Files
PhotoDisplay/README.md
2025-07-28 17:01:59 -07:00

155 lines
5.6 KiB
Markdown

<h1 align="center">
<img alt="galpal logo" src=".github/images/logo.png" width="160px"/><br/>
galpal
</h1>
<p align="center">galpal gives you and your clients a quick, easy, and beautiful website to access and download photographs. Has all the features of any professional image hosting software, easy to setup, made specifically for photographers.</p>
<!-- <p align="center"><img alt="GitHub release (latest by date)" src="https://img.shields.io/github/v/release/galpal/galpal?style=for-the-badge">&nbsp;<img alt="GitHub all releases" src="https://img.shields.io/github/downloads/galpal/galpal/total?style=for-the-badge">&nbsp;<img alt="GitHub Workflow Status" src="https://img.shields.io/github/actions/workflow/status/galpal/galpal/release.yml?style=for-the-badge"></p> -->
<img alt="galpal ui" src=".github/images/front-dark.png" /><br/>
*[Light version too!](.github/images/front-light.png)*
## Documentation
Full documentation is available at [https://github.com/Brandon4466/galpal](https://github.com/Brandon4466/galpal)
## What Is galpal?
You've already done the hard work. The photography, the editing, everything. Now you're ready to distribute your photos... But how? This is where galpal steps in! No more hassel of how you're going to get the photos to the client or who you're going to have to explain how to use dropbox to. galpal gives a nice and easy to use interface, complete with password protection, to distribute photos to your clients.
## Key Features
- Album password protection
- Download all photos or only selected
- Supports multiple albums
- Easily configurable
- Supports multiple platforms (Linux, Windows, macOS) on many architectures (x86, ARM)
- Container support (Docker, Kubernetes)
## Installation
For complete installation instructions, visit our [Installation Guide](https://https://github.com/Brandon4466/galpal/installation/linux). Guides available for Windows, Linux, Docker, and more.
### Linux (One-Click Installer)
#### Installation Script
```bash
wget https://github.com/Brandon4466/galpal/install && bash install
```
### Docker Compose
Create `docker-compose.yml` and add the following. If you have an existing setup change to fit that.
```yml
version: "1.0"
services:
galpal:
container_name: galpal
image: github.com/Brandon4466/galpal/galpal:latest
restart: unless-stopped
environment:
- TZ=${TZ}
user: 1000:1000
volumes:
- ${BASE_DOCKER_DATA_PATH}/galpal/config:/config
ports:
- 7474:7474
```
Then start with:
```bash
docker compose up -d
```
### Windows
Download the latest Windows installer from [here](https://github.com/Brandon4466/galpal/installation/windows).
### MacOS
#### One-Click Installer
Also compatible with macOS.
#### App Installer
Download the latest macOS .dmg from [here](https://github.com/Brandon4466/galpal/installation/macos).
#### Install with Homebrew
Install Homebrew
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
Install galpal
```bash
brew install galpal
```
Run
```bash
brew services start galpal
```
#### Systemd (Recommended)
On Linux-based systems, it is recommended to run galpal as a sort of service with auto-restarting capabilities, in
order to account for potential downtime. The most common way is to do it via systemd. This is setup automatically when using the installation script.
If not using the installation script, you will need to create a service file in `/etc/systemd/system/` called `galpal.service`.
```bash
touch /etc/systemd/system/galpal@.service
```
Then place the following content inside the file (e.g. via nano/vim/ed):
```systemd title="/etc/systemd/system/galpal@.service"
[Unit]
Description=galpal service for %i
After=syslog.target network-online.target
[Service]
Type=simple
User=%i
Group=%i
ExecStart=/usr/bin/galpal --config=/home/%i/.config/galpal/
[Install]
WantedBy=multi-user.target
```
Start the service. Enable will make it startup on reboot.
```bash
systemctl enable -q --now --user galpal@$USER
```
By default, the configuration is set to listen on `127.0.0.1`. While galpal works fine as is exposed to the internet,
it is recommended to use a reverse proxy
like [nginx](https://github.com/Brandon4466/galpal/installation/linux#nginx), [caddy](https://github.com/Brandon4466/galpal/installation/linux#caddy)
or [traefik](https://github.com/Brandon4466/galpal/installation/docker#traefik).
If you are not running a reverse proxy change `host` in the `config.toml` to `0.0.0.0`.
## Community
We have a great community on [Discord](https://github.com/Brandon4466/galpal)! Connect with other galpal users, get notified of new updates, and ask questions!
## License
<a href="https://github.com/Brandon4466/galpal">galpal</a> © 2025 by <a href="https://github.com/Brandon4466">Brandon Brunson</a> is licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a><img src="https://mirrors.creativecommons.org/presskit/icons/cc.svg" alt="" style="max-width: 1em;max-height:1em;margin-left: .2em;"><img src="https://mirrors.creativecommons.org/presskit/icons/by.svg" alt="" style="max-width: 1em;max-height:1em;margin-left: .2em;"><img src="https://mirrors.creativecommons.org/presskit/icons/nc.svg" alt="" style="max-width: 1em;max-height:1em;margin-left: .2em;"><img src="https://mirrors.creativecommons.org/presskit/icons/sa.svg" alt="" style="max-width: 1em;max-height:1em;margin-left: .2em;">
- **Run:** You can run galpal in any noncommercial environment.
- **Study and Modify:** Access to the source code allows you to study and modify galpal to suit your needs.
Copyright 2025