selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

giftmanager logo

Self-host giftmanager

v2.8.1

Family gift ideas manager with Secret Santa

ReleaseOpen SourceMIT
Updated10 hours ago
LanguageHTML
Setup difficultyModerate
ThemeDark mode
Stars
250
Port
5000 (HTTP web interface)
Docker
icbest/giftmanager
Install with Docker
Giftmanager main dashboard showing gift ideasGiftmanager gift idea detail viewGiftmanager Secret Santa featureGiftmanager family management viewGiftmanager admin dashboardGiftmanager login page with OIDC button

What is giftmanager?

Giftmanager is a Flask-based web application that helps families manage gift ideas for each member. Users can add and edit gift ideas with descriptions, links, and prices, mark gifts as purchased to avoid duplicates, and keep a history of given gifts. It includes a Secret Santa feature, email notifications, dark mode, and supports multiple separate families. The app provides an admin dashboard with built-in user management and secure login via OpenID Connect (OIDC) with providers like Authelia, Authentik, and Keycloak. It runs as a Docker container (image icbest/giftmanager on Docker Hub) or via Python Gunicorn on Linux, storing data in a JSON file on a mounted volume. The project is licensed under MIT and actively maintained.

Should you self-host giftmanager?

giftmanager scores 47/100 on selfhost.directory (how scoring works) and ranks #22 of 38 in Personal Productivity. It has 250 GitHub stars.

It shipped 11 stable releases in the past year. The latest, v2.8.1, came out on 25 October 2026. New versions land roughly every 4 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in HTML.

Its closest alternative on selfhost.directory is LanguageTool (75/100, 15 205 stars). It scores higher overall, so compare the two before you pick. See giftmanager vs LanguageTool side by side.

Features

  • Admin Dashboard
  • Email notifications
  • Gift ideas management
  • Guest Accounts
  • Multiple families
  • OIDC Authentication
  • Public Links
  • Secret Santa
  • Shared lists
  • User Management

giftmanager README

How to install giftmanager

Install giftmanager with Docker

Docker installed
Environment variables
GUNICORN_THREADS, GUNICORN_BIND, and all app settings via -e flags

docker run -p [published-port]:5000 -d -v /path/to/data:/app/data --name giftmanager icbest/giftmanager

Change the published port as needed (e.g., 80:5000 for port 80). Mount a host path for data persistence.

How to configure giftmanager

  • CURRENCY_POSITIONbeforeChanges the symbol position for the idea value

    Changes the symbol position for the idea value

  • CURRENCY_SYMBOL$Changes the symbol for the idea value

    Changes the symbol for the idea value

  • DELETE_DAYS30Days before auto-delete ideas bought

    Days before auto-delete ideas bought

  • ENABLE_AUTO_REGISTRATIONfalseAllow auto-registration via OIDC

    Allow auto-registration via OIDC

  • ENABLE_DEFAULT_LOGINtrueEnable default login form alongside OIDC

    Enable default login form alongside OIDC

  • ENABLE_LINK_SHARINGtrueAllows user to share their lists via external link

    Allows user to share their lists via external link

  • ENABLE_SELF_REGISTRATIONfalseAllow people to self register on the login page

    Allow people to self register on the login page

  • GUNICORN_BIND0.0.0.0:5000Chooses port inside the container

    Chooses port inside the container

  • GUNICORN_THREADS4The number of worker threads for handling requests.

    The number of worker threads for handling requests.

  • IMGENABLEDfalseAllows images in ideas (tries auto-fetch then ask user for link if failed)

    Allows images in ideas (tries auto-fetch then ask user for link if failed)

  • JOINING_CODENeeded to self register. Empty will not ask for one at account creation

    Needed to self register. Empty will not ask for one at account creation

  • LOGIN_PAGE_MESSAGENo account? Contact a family member to create an account.Changes the message at the top of the login form

    Changes the message at the top of the login form

  • MAILJET_API_KEYNeeded for emails on delete. If not present, app will NOT try to contact mailjet servers.

    Needed for emails on delete. If not present, app will NOT try to contact mailjet servers.

  • MAILJET_API_SECRETNeeded for emails on delete.

    Needed for emails on delete.

  • OIDC_CLIENT_IDOIDC client ID for authentication provider

    OIDC client ID for authentication provider

  • OIDC_CLIENT_SECRETOIDC client secret for authentication provider

    OIDC client secret for authentication provider

  • OIDC_LOGOUT_URLOIDC logout URL (usually ends with /logout)

    OIDC logout URL (usually ends with /logout)

  • OIDC_SERVER_METADATA_URLOIDC server metadata URL (usually ends with /.well-known/openid-configuration)

    OIDC server metadata URL (usually ends with /.well-known/openid-configuration)

  • PRIMARY_DB_FIELDemailPrimary database field for user matching

    Primary database field for user matching

  • PRIMARY_OIDC_FIELDemailPrimary OIDC field for user matching

    Primary OIDC field for user matching

  • REORDERINGtrueAllows reordering ideas on my_ideas page

    Allows reordering ideas on my_ideas page

  • SECONDARY_DB_FIELDusernameSecondary database field for user matching

    Secondary database field for user matching

  • SECONDARY_OIDC_FIELDpreferred_usernameSecondary OIDC field for user matching

    Secondary OIDC field for user matching

  • SECRET_KEYchangethisUsed to secure session cookies. Please change this value to your own.

    Used to secure session cookies. Please change this value to your own.

  • SYSTEM_EMAILEmail to send notification from.

    Email to send notification from.

giftmanager releases & version history

More in Home Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…