AlwaysBringAGift

AlwaysBringAGift

Docker app from Indemnity83's Repository

Overview

Always Bring a Gift (ABAG) is a simple, self‑hosted gift‑tracking app designed to help you remember events, track people, and keep ideas organized across holidays, birthdays, and celebrations. Manage gift histories, plan ahead, and never forget what you gave—or meant to give—again. Perfect for families, busy schedules, and year‑round planning. (Beta release; features and UI may evolve.)
Always Bring a Gift Logo

Always Bring a Gift (ABAG)

Never forget another birthday, anniversary, or special occasion

Tests Build License

About

Always Bring a Gift (ABAG) is a thoughtful gift-giving companion that helps you remember important dates and track gift ideas for the special people in your life. Whether it's birthdays, anniversaries, holidays, or other celebrations, ABAG ensures you're always prepared with the perfect gift.

Features

  • 🎂 Event Management - Track birthdays, anniversaries, holidays, and custom events
  • 🔁 Recurring Events - Automatic reminders for yearly celebrations
  • 👥 Person Management - Keep profiles with photos and event associations
  • 💡 Gift Ideas - Save and organize gift ideas with Amazon integration
  • 📜 Gift History - Track what you've given and when
  • 🛍️ Amazon Integration - Fetch product images and details via OpenWeb Ninja API
  • 🔐 Secure Authentication - Built-in 2FA support and optional Authentik SSO
  • 👨‍💼 Admin Dashboard - User management and system oversight
  • 🐳 Easy Deployment - Docker images for simple setup

Quick Start

Docker (Recommended)

docker run -d \
  -p 8000:8000 \
  -v abag-data:/app/storage \
  ghcr.io/indemnity83/always-bring-a-gift:latest

Access the application at http://localhost:8000

Default admin credentials:

  • Email: admin@example.com
  • Password: (generated on first run, check logs)

UnRAID

Install via Community Applications or download the template to your UnRAID server.

Docker Compose

services:
  abag:
    image: ghcr.io/indemnity83/always-bring-a-gift:latest
    ports:
      - "8000:8000"
    volumes:
      - abag-data:/app/storage

volumes:
  abag-data:

See DOCKER.md for advanced configuration options.

Local Development

Requirements:

  • PHP 8.2+
  • Composer
  • Node.js 20+
  • SQLite (or your preferred database)
# Clone the repository
git clone https://github.com/Indemnity83/always-bring-a-gift.git
cd always-bring-a-gift

# Install dependencies
composer install
npm install

# Set up environment
cp .env.example .env
php artisan key:generate

# Run migrations and seed database
php artisan migrate --seed

# Build assets
npm run build

# Start the development server
php artisan serve

Configuration

The application works out-of-the-box with sensible defaults. Optional configuration is available for advanced use cases - see DOCKER.md for details.

First-Time Setup

On first run, the application will:

  1. Create an admin user with a randomly generated password
  2. Seed default event types (Birthday, Anniversary, Holiday)
  3. Set up the database schema

Check the container logs for the admin password:

docker logs <container-id>

Tech Stack

  • Backend: Laravel 12
  • Frontend: Livewire 3 + Volt
  • UI: Flux UI + Tailwind CSS 4
  • Authentication: Laravel Fortify with 2FA support
  • Database: SQLite (easily switchable to MySQL/PostgreSQL)
  • Deployment: Docker with multi-architecture support (amd64/arm64)

Screenshots

Coming soon!

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow Laravel best practices
  • Write tests for new features
  • Run vendor/bin/pint before committing
  • Ensure all tests pass with php artisan test

Security

If you discover any security vulnerabilities, please email the maintainer directly instead of using the issue tracker.

License

This project is open-sourced software licensed under the MIT license.

Acknowledgments

Support


Made with ❤️ for thoughtful gift-givers everywhere

Install AlwaysBringAGift on Unraid in a few clicks.

Find AlwaysBringAGift in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for AlwaysBringAGift Review the template variables and paths Click Install

Categories

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/indemnity83/always-bring-a-gift:latest
Last Updated2026-07-14
First Seen2025-12-10

Runtime arguments

Web UI
http://[IP]:[PORT:8000]
Network
bridge
Shell
sh
Privileged
false

Template configuration

WebUIPorttcp

Port for the web interface

Target
8000
Default
8000
Value
8000
Application DataPathrw

Path to store application data (database, logs, cache)

Target
/app/storage
Default
/mnt/user/appdata/always-bring-a-gift
Value
/mnt/user/appdata/always-bring-a-gift
PUIDVariable

User ID for file ownership

Default
99
Value
99
PGIDVariable

Group ID for file ownership

Default
100
Value
100
TRUSTED_PROXIESVariable

The load balancers or proxies that should be trusted

Default
*
Value
*