Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions ct/genealogy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#!/usr/bin/env bash
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/DevScripts/main"
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
# Copyright (c) 2021-2026 community-scripts ORG
# Author: Valentin Levshits (vlevshits)
# License: MIT | https://github.com/community-scripts/DevScripts/raw/main/LICENSE
# Source: https://github.com/vlevshits/genealogy

APP="Genealogy"
var_tags="${var_tags:-genealogy;family-tree}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_arm64="${var_arm64:-yes}"
var_unprivileged="${var_unprivileged:-1}"

header_info "$APP"
variables
color
catch_errors

function update_script() {
header_info
check_container_storage
check_container_resources

if [[ ! -f /etc/systemd/system/genealogy.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP}"
if [[ -x /usr/local/bin/update ]]; then
/usr/local/bin/update
elif [[ -f /opt/genealogy/scripts/install.sh ]]; then
/opt/genealogy/scripts/install.sh
else
curl -fsSL https://raw.githubusercontent.com/vlevshits/genealogy/main/scripts/install.sh | bash
fi
msg_ok "Updated ${APP}"
exit
}

start
build_container
description

msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully completed!${CL}"
echo -e "${INFO}${YW} Access it at: ${BL}http://${IP}:80${CL}"
32 changes: 32 additions & 0 deletions install/genealogy-install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/usr/bin/env bash

# Copyright (c) 2021-2026 community-scripts ORG
# Author: Valentin Levshits (vlevshits)
# License: MIT | https://github.com/community-scripts/DevScripts/raw/main/LICENSE
# Source: https://github.com/vlevshits/genealogy

source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os

msg_info "Installing Dependencies"
$STD apt install -y \
curl \
tar \
gzip \
ca-certificates \
jq \
openssl
msg_ok "Installed Dependencies"

msg_info "Installing Genealogy Family Tree"
$STD bash -c "$(curl -fsSL https://raw.githubusercontent.com/vlevshits/genealogy/main/scripts/install.sh)"
msg_ok "Installed Genealogy Family Tree"

motd_ssh
customize
cleanup_lxc
49 changes: 49 additions & 0 deletions json/genealogy.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"name": "Genealogy",
"slug": "genealogy",
"categories": [
0
],
"date_created": "2026-11-09",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": "https://github.com/vlevshits/genealogy",
"website": "https://github.com/vlevshits/genealogy",
"repository": "https://github.com/vlevshits/genealogy",
"architectures": [
"amd64",
"arm64"
],
"logo": "https://raw.githubusercontent.com/vlevshits/genealogy/main/frontend/public/icons/icon-192.png",
"description": "Genealogy is a modern, private, self-hosted web application for building, exploring, and preserving a family tree archive with living-person privacy protection, Slavic patronymics, and zero-proxy native port 80 web serving.",
"install_methods": [
{
"type": "default",
"script": "ct/genealogy.sh",
"config_path": "/etc/genealogy/genealogy.env",
"resources": {
"cpu": 2,
"ram": 1024,
"hdd": 8,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": "admin",
"password": null
},
"notes": [
{
"text": "Open http://<IP>:80 in your browser to complete the First-Run Setup Wizard (create admin account, set passkey/password, and name your family tree).",
"type": "info"
},
{
"text": "To update to the latest release in the future, simply run 'update' inside the container console.",
"type": "info"
}
]
}
Loading