You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.4 KiB

# random-image-server
Serves a random image from a directory. Listens to file system events to automatically update available images.
NOTE: I threw together this program to serve random backgrounds to my homelab [homepage](https://gethomepage.dev/). I have not done any testing. Software provided as-is.
## Usage
Simply run the program with no arguments.
Two environment variables are available:
- `IMAGE_DIR`: The directory to scan for images. Default: `/images`
- `ALLOWED_EXTENSIONS`: Extensions to be considered by the program. Comma-separated list. Default: `.png,.jpg,.jpeg,.webp`
## Installation
### Docker
Docker run example:
```bash
docker run -p 8080:8080 --volume /path/to/images:/images:ro gabehf/random-image-server
```
Docker compose example:
```yaml
services:
random-image-server:
image: gabehf/random-image-server:latest
container_name: random-image-server
environment:
ALLOWED_EXTENSIONS: .png,.jpg # comma-separated; default: .png,.jpg,.jpeg,.webp
ports:
- 8080:8080
volumes:
- /path/to/my/images/:/images:ro
restart: unless-stopped
```
### From Source
Clone the repository:
```
git clone github.com/gabehf/random-image-server
```
Download dependencies:
```
go mod download
```
Build & run the program
```
go build -o random-image-server . && ./random-image-server
```
Then navigate to `localhost:8080` and you will be served a random image from the directory.