A self-hosted web app for shared wishlists where friends and family can claim gifts without spoiling the surprise.
Wingysam/Christmas-Community
A self-hosted web app where families share Christmas wish lists and avoid buying duplicate gifts.
- Stars
- 424
- Forks
- 61
- Open issues
- 66
- Last commit
- 10 days ago
What is it?
Christmas Community is a web application for coordinating gift shopping within a family. Members create wish lists, and others can see what people want, which helps avoid buying the same present twice.
The app is built on Node.js and TypeScript and runs as a self-hosted service, either with Docker or directly from the source. Data is stored in PouchDB by default, with an option to use a CouchDB-compatible server. Product details for items can be fetched automatically from shopping links, and users can add profile pictures.
Configuration is handled through environment variables, covering options such as a table or card layout, single-list mode for weddings or birthdays, guest access, Markdown in item notes, custom themes and CSS, and single sign-on via Google or any OIDC provider.
Key features
- 01Family members create wish lists that others can view to avoid duplicate gifts.
- 02Product data is fetched automatically from shopping links.
- 03Single-list mode for weddings, birthdays and similar events.
- 04Optional Google or OIDC single sign-on.
- 05Runs via Docker or Node.js, with data stored in PouchDB or CouchDB.
Use cases
- Coordinating Christmas gifts across an extended family.
- Running a wedding or birthday registry where only the host's list is visible.
- Hosting a private gift-planning site on a home server.
Quick start
- 1
Run the Docker container
docker run --detach --name christmas-community -p 80:80 --restart always wingysam/christmas-community - 2
Visit the server root in a browser to create an admin account
Things to know
- Requires self-hosting a server, so you must run and maintain the instance yourself.
- Licensed under AGPL-3.0, a copyleft license that requires sharing modified source code when run as a network service.
- Does not yet support multiple families in one instance.
In collections
Topics
FAQ
- What is Christmas-Community?
- A self-hosted web app where families share Christmas wish lists and avoid buying duplicate gifts. Christmas Community is a web application for coordinating gift shopping within a family. Members create wish lists, and others can see what people want, which helps avoid buying the same present twice.
- Is Christmas-Community free to use? What license does it have?
- Christmas-Community is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is Christmas-Community still maintained?
- Actively maintained. The last commit to Christmas-Community was on Oct 28, 2026.
- What can I use Christmas-Community for?
- Coordinating Christmas gifts across an extended family. Running a wedding or birthday registry where only the host's list is visible. Hosting a private gift-planning site on a home server.
- How do I install Christmas-Community?
- Run the Docker container: docker run --detach --name christmas-community -p 80:80 --restart always wingysam/christmas-community Visit the server root in a browser to create an admin account
- Where can I get Christmas-Community?
- The source code and installation instructions are on GitHub: https://github.com/Wingysam/Christmas-Community
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted, shareable wishlist app where friends and family can view and claim gifts without duplicating purchases.
A self-hosted web app for storing, organising and filtering code snippets, with SQLite or PostgreSQL storage and an MCP endpoint for AI assistants.
A non-linear personal wiki in JavaScript that runs as a single HTML file in the browser or as a Node.js application.
A self-hostable web app where friends watch YouTube, Vimeo and other videos together in sync, without needing accounts.
An open-source team knowledge base built with React and Node.js, offering realtime collaborative editing and Markdown support.