You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| 🗂️ **Stirling-PDF**| A web application for managing and editing PDF files. |[Details](services/stirlingpdf)|
73
-
| 🧠 **LanguageTool**| An open-source proofreading software for multiple languages. |[Details](services/languagetool)|
74
-
| 🔄 **Resilio Sync**| A fast, reliable, and simple file sync and share solution. |[Details](services/resilio-sync)|
75
-
| 🗃️ **Vaultwarden**| An unofficial Bitwarden server implementation written in Rust. |[Details](services/vaultwarden)|
76
-
| 🌿 **Isley**| A self-hosted cannabis grow journal for tracking plants and managing grow data. |[Details](services/isley)|
77
-
| ✂️ **ClipCascade**| A self-hosted clipboard manager for syncing and organizing clipboard history. |[Details](services/clipcascade)|
78
-
| 🔖 **Linkding**| A self-hosted bookmark manager to save and organize links. |[Details](services/linkding)|
79
-
| ✅ **DumbDo**| A self-hosted, minimalistic task manager for simple to-do lists. |[Details](services/dumbdo)|
80
-
| ✍️ **Ghost**| A modern, open-source publishing platform for blogs and newsletters. |[Details](services/ghost)|
81
-
| 📝 **Nanote**| A lightweight, self-hosted note-taking app with Markdown support. |[Details](services/nanote)|
82
-
| ✅ **Eigenfocus**| A self-hosted task and project management tool for productivity. |[Details](services/eigenfocus)|
83
-
| 🔖 **Haptic**| Haptic is a new local-first & privacy-focused, open-source home for your markdown notes. |[Details](services/haptic)|
84
-
| 📝 **Flatnotes**| A simple, self-hosted note-taking app using Markdown files. |[Details](services/flatnotes)|
85
-
| ✅ **Donetick**| A self-hosted task and checklist manager for productivity. |[Details](services/donetick)|
86
-
| 🗂️ **Kaneo**| A modern, self-hosted project management platform focused on simplicity. |[Details](services/kaneo)|
87
-
| 🗒️ **Karakeep**| A self-hosted, collaborative note-taking app — a private alternative to Google Keep. |[Details](services/karakeep)|
88
-
| 📚 **Docmost**| A self-hosted, real-time collaborative wiki with rich editing, diagrams, permissions, and full-text search. |[Details](services/docmost)|
89
-
| 🗂️ **Copyparty**| A self-hosted file server with accelerated resumable uploads. |[Details](services/copyparty/)|
| 🗂️ **Stirling-PDF**| A web application for managing and editing PDF files. |[Details](services/stirlingpdf)|
74
+
| 🧠 **LanguageTool**| An open-source proofreading software for multiple languages. |[Details](services/languagetool)|
75
+
| 🔄 **Resilio Sync**| A fast, reliable, and simple file sync and share solution. |[Details](services/resilio-sync)|
76
+
| 🗃️ **Vaultwarden**| An unofficial Bitwarden server implementation written in Rust. |[Details](services/vaultwarden)|
77
+
| 🌿 **Isley**| A self-hosted cannabis grow journal for tracking plants and managing grow data. |[Details](services/isley)|
78
+
| ✂️ **ClipCascade**| A self-hosted clipboard manager for syncing and organizing clipboard history. |[Details](services/clipcascade)|
79
+
| 🔖 **Linkding**| A self-hosted bookmark manager to save and organize links. |[Details](services/linkding)|
80
+
| ✅ **DumbDo**| A self-hosted, minimalistic task manager for simple to-do lists. |[Details](services/dumbdo)|
81
+
| ✍️ **Ghost**| A modern, open-source publishing platform for blogs and newsletters. |[Details](services/ghost)|
82
+
| 📝 **Nanote**| A lightweight, self-hosted note-taking app with Markdown support. |[Details](services/nanote)|
83
+
| ✅ **Eigenfocus**| A self-hosted task and project management tool for productivity. |[Details](services/eigenfocus)|
84
+
| 🔖 **Haptic**| Haptic is a new local-first & privacy-focused, open-source home for your markdown notes. |[Details](services/haptic)|
85
+
| 📝 **Flatnotes**| A simple, self-hosted note-taking app using Markdown files. |[Details](services/flatnotes)|
86
+
| ✅ **Donetick**| A self-hosted task and checklist manager for productivity. |[Details](services/donetick)|
87
+
| 🗂️ **Kaneo**| A modern, self-hosted project management platform focused on simplicity. |[Details](services/kaneo)|
88
+
| 🗒️ **Karakeep**| A self-hosted, collaborative note-taking app — a private alternative to Google Keep. |[Details](services/karakeep)|
89
+
| 📚 **Docmost**| A self-hosted, real-time collaborative wiki with rich editing, diagrams, permissions, and full-text search. |[Details](services/docmost)|
90
+
| 🗂️ **Copyparty**| A self-hosted file server with accelerated resumable uploads. |[Details](services/copyparty)|
90
91
| 💸 **Wallos**| An open-source, self-hostable web app to track and manage your recurring subscriptions and expenses, with multi-currency support, customizable categories, and statistics. |[Details](services/wallos)|
92
+
| 🧑🧑🧒🧒 **Gramps Web**| A web-based genealogy platform for collaborative family tree browsing, editing, AI-powered chat, media tagging, mapping, charts, search, and reporting. |[Details](services/grampsweb)|
This Docker Compose configuration sets up [**Gramps Web**](https://github.com/gramps-project/gramps-web) with Tailscale as a sidecar container, enabling secure access to your self-hosted genealogy platform from anywhere on your private Tailscale network. With this setup, your Gramps Web instance remains fully private and accessible only from authorized devices.
4
+
5
+
## Gramps Web
6
+
7
+
[**Gramps Web**](https://github.com/gramps-project/gramps-web) is an open-source, self-hosted web application for collaborative browsing and editing of genealogical data. It provides a modern, mobile-friendly interface to your family tree, with full interoperability with the Gramps Desktop application. Designed for individuals, families, and research groups, Gramps Web makes it easy to share, visualize, and enrich family history data while keeping full control over your information.
8
+
9
+
## Key Features
10
+
11
+
***Collaborative Editing** – Multiple users can view and edit the same family tree with role-based permissions.
12
+
***Interactive Charts and Maps** – Explore family relationships through dynamic ancestor, descendant, and hourglass charts, plus integrated mapping with historical overlays.
13
+
***AI-Powered Chat** – Ask questions about your family tree using natural language, with AI providing context-aware answers.
14
+
***Media and Face Tagging** – Store and manage media files, with automatic face detection and tagging to link people to photos.
15
+
***Search and Reporting** – Perform full-text searches and generate printable reports directly in the browser.
16
+
***Bi-Directional Sync with Gramps Desktop** – Keep online and offline databases in sync using the Gramps Web Sync add-on.
17
+
***Privacy Controls** – Mark individuals or events as private and filter sensitive data from public views.
18
+
***Self-Hosted & Open Source** – Run on your own infrastructure with Docker, keeping your data under your control.
19
+
20
+
## Configuration Overview
21
+
22
+
In this deployment, the `tailscale-grampsweb` service runs the Tailscale client to establish a secure private network. The `grampsweb` container uses `network_mode: service:tailscale-grampsweb` to route all traffic through the Tailscale interface. This ensures that your genealogy database, charts, and administration interface are only accessible via Tailscale, preventing public exposure.
# Make sure you have updated/checked the .env file with the correct variables.
3
+
# All the ${ xx } need to be defined there.
4
+
# Tailscale Sidecar Configuration
5
+
tailscale:
6
+
image: tailscale/tailscale:latest # Image to be used
7
+
container_name: tailscale-${SERVICE} # Name for local container management
8
+
hostname: ${SERVICE} # Name used within your Tailscale environment
9
+
environment:
10
+
- TS_AUTHKEY=${TS_AUTHKEY}
11
+
- TS_STATE_DIR=/var/lib/tailscale
12
+
- TS_SERVE_CONFIG=/config/serve.json # Tailsacale Serve configuration to expose the web interface on your local Tailnet - remove this line if not required
- TS_LOCAL_ADDR_PORT=127.0.0.1:41234 # The <addr>:<port> for the healthz endpoint
16
+
#- TS_ACCEPT_DNS=true # Uncomment when using MagicDNS
17
+
volumes:
18
+
- ${PWD}/config:/config # Config folder used to store Tailscale files - you may need to change the path
19
+
- ${PWD}/ts/state:/var/lib/tailscale # Tailscale requirement - you may need to change the path
20
+
devices:
21
+
- /dev/net/tun:/dev/net/tun # Network configuration for Tailscale to work
22
+
cap_add:
23
+
- net_admin # Tailscale requirement
24
+
- sys_module # Tailscale requirement
25
+
#ports:
26
+
# - 0.0.0.0:${SERVICEPORT}:${SERVICEPORT} # Binding port ${SERVICE}PORT to the local network - may be removed if only exposure to your Tailnet is required
27
+
# If any DNS issues arise, use your preferred DNS provider by uncommenting the config below
28
+
#dns:
29
+
# - ${DNS_SERVER}
30
+
healthcheck:
31
+
test: ["CMD", "wget", "--spider", "-q", "http://127.0.0.1:41234/healthz"] # Check Tailscale has a Tailnet IP and is operational
32
+
interval: 1m# How often to perform the check
33
+
timeout: 10s# Time to wait for the check to succeed
34
+
retries: 3# Number of retries before marking as unhealthy
35
+
start_period: 10s# Time to wait before starting health checks
36
+
restart: always
37
+
38
+
# ${SERVICE}
39
+
application: &grampsweb
40
+
image: ${IMAGE_URL} # Image to be used
41
+
network_mode: service:tailscale # Sidecar configuration to route ${SERVICE} through Tailscale
42
+
container_name: app-${SERVICE} # Name for local container management
43
+
environment:
44
+
PUID: 1000
45
+
PGID: 1000
46
+
TZ: Europe/Amsterdam
47
+
GRAMPSWEB_TREE: "Gramps Web"# will create a new tree if not exists
0 commit comments