# Garage Web UI: An Admin Interface for Garage Object Storage

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Source: osrepos.com
Repository profile: https://osrepos.com/repo/khairul169-garage-webui
Generated for open source discovery and AI-assisted research.

Garage Web UI is a simple, self-hosted web interface designed for managing the Garage Object Storage service. Built with TypeScript and Go, it provides essential features like health status monitoring, bucket management, and access key creation. This tool simplifies the administration of your S3-compatible distributed object storage.

GitHub: https://github.com/khairul169/garage-webui
OSRepos URL: https://osrepos.com/repo/khairul169-garage-webui

## Summary

Garage Web UI is a simple, self-hosted web interface designed for managing the Garage Object Storage service. Built with TypeScript and Go, it provides essential features like health status monitoring, bucket management, and access key creation. This tool simplifies the administration of your S3-compatible distributed object storage.

## Topics

- TypeScript
- Go
- WebUI
- Object Storage
- S3
- Admin Panel
- Self-hosted
- Docker

## Repository Information

Last analyzed by OSRepos: Sun Nov 30 2025 16:00:55 GMT+0000 (Western European Standard Time)
Detail views: 7
GitHub clicks: 5

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## Introduction

Garage Web UI is an intuitive, self-hosted web interface designed to simplify the administration of [Garage](https://garagehq.deuxfleurs.fr/) (target="_blank"), a powerful S3-compatible, distributed object storage service. This project provides a user-friendly dashboard for managing your Garage cluster, making complex operations accessible through a graphical interface.

Key features include:

*   Monitoring Garage health status.
*   Managing cluster and layout configurations.
*   Creating, updating, and viewing bucket information.
*   An integrated objects/bucket browser for easy navigation.
*   Creating and assigning access keys for secure access.

Built with TypeScript for the frontend and Go for the backend, Garage Web UI offers a robust and responsive experience for managing your object storage infrastructure.

## Installation

Garage Web UI can be easily deployed using Docker, Docker Compose, or as a standalone binary.

### Using Docker CLI

To quickly get started with Docker, run the following command:

sh
docker run -p 3909:3909 -v ./garage.toml:/etc/garage.toml:ro --restart unless-stopped --name garage-webui khairul169/garage-webui:latest


### Using Docker Compose

If you are already running Garage with Docker Compose, you can integrate the Web UI by adding it to your `docker-compose.yml` file:

yml
services:
  garage:
    image: dxflrs/garage:v2.0.0
    container_name: garage
    volumes:
      - ./garage.toml:/etc/garage.toml
      - ./meta:/var/lib/garage/meta
      - ./data:/var/lib/garage/data
    restart: unless-stopped
    ports:
      - 3900:3900
      - 3901:3901
      - 3902:3902
      - 3903:3903

  webui:
    image: khairul169/garage-webui:latest
    container_name: garage-webui
    restart: unless-stopped
    volumes:
      - ./garage.toml:/etc/garage.toml:ro
    ports:
      - 3909:3909
    environment:
      API_BASE_URL: "http://garage:3903"
      S3_ENDPOINT_URL: "http://garage:3900"


### Without Docker

For a standalone installation, download the latest binary from the [release page](https://github.com/khairul169/garage-webui/releases/latest) (target="_blank"). For example, for Linux AMD64:

sh
wget -O garage-webui https://github.com/khairul169/garage-webui/releases/download/1.1.0/garage-webui-v1.1.0-linux-amd64
chmod +x garage-webui
sudo cp garage-webui /usr/local/bin


Then, run the program with your `garage.toml` configuration path:

sh
CONFIG_PATH=./garage.toml garage-webui


You can also set up a systemd service for automatic startup:

sh
sudo nano /etc/systemd/system/garage-webui.service


Add the following content:


[Unit]
Description=Garage Web UI
After=network.target

[Service]
Environment="PORT=3919"
Environment="CONFIG_PATH=/etc/garage.toml"
ExecStart=/usr/local/bin/garage-webui
Restart=always

[Install]
WantedBy=default.target


Reload and start the service:

sh
sudo systemctl daemon-reload
sudo systemctl enable --now garage-webui


## Examples

Once your Garage Web UI instance is running, you can access it via your web browser at `http://your-ip:3909`. For enhanced security, it is recommended to place it behind a reverse proxy with SSL.

To enable authentication for the Web UI, set the `AUTH_USER_PASS` environment variable in the format `username:password_hash`. You can generate the password hash using `htpasswd`:

bash
htpasswd -nbBC 10 "YOUR_USERNAME" "YOUR_PASSWORD"


Then, update your `docker-compose.yml` or environment variables accordingly:

yml
webui:
  ....
  environment:
    AUTH_USER_PASS: "username:$2y$10$DSTi9o..."


## Why Use It

Garage Web UI offers significant advantages for anyone managing a Garage Object Storage instance:

*   **Simplified Management**: Provides a visual interface for tasks that would otherwise require command-line operations, making administration more accessible.
*   **Comprehensive Overview**: Get a quick glance at your Garage cluster's health, layout, and resource usage.
*   **Efficient Operations**: Easily create, modify, and delete buckets, and manage access keys without manual configuration files.
*   **Self-Hosted Control**: Maintain full control over your storage and its management interface within your own infrastructure.
*   **Seamless Integration**: Designed to work effortlessly with existing Garage deployments, especially those using Docker.

## Links

*   **GitHub Repository**: [khairul169/garage-webui](https://github.com/khairul169/garage-webui) (target="_blank")
*   **Garage Object Storage**: [Official Website](https://garagehq.deuxfleurs.fr/) (target="_blank")
*   **Screenshots**: [View Screenshots](https://github.com/khairul169/garage-webui/blob/main/misc/SCREENSHOTS.md) (target="_blank")