155 lines
5.6 KiB
Markdown
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"> <img alt="GitHub all releases" src="https://img.shields.io/github/downloads/galpal/galpal/total?style=for-the-badge"> <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 |