diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 9b665235b..e227eef57 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -1,10 +1,12 @@ { "permissions": { "allow": [ - "Bash(mkdir:*)", + "Bash(*)", "Bash(cp:*)", - "Bash(find:*)" + "Bash(find:*)", + "Bash(ls:*)" ], "deny": [] - } + }, + "$schema": "https://json.schemastore.org/claude-code-settings.json" } \ No newline at end of file diff --git a/browserless_chrome/README.md b/browserless_chrome/README.md index 0811080ff..755993507 100644 --- a/browserless_chrome/README.md +++ b/browserless_chrome/README.md @@ -33,8 +33,12 @@ This addon is based on the docker image https://hub.docker.com/r/browserless/chr Webui can be found at . Configurations can be done through the app webUI, except for the following options -```yaml +| Option | Description | Default | +|--------|-------------|---------| +| `TIMEOUT` | Request timeout in milliseconds | `60000` | +```yaml +TIMEOUT: 60000 ``` ### Custom Scripts and Environment Variables diff --git a/codex/README.md b/codex/README.md index f11fb64a8..ad1ae618f 100644 --- a/codex/README.md +++ b/codex/README.md @@ -54,17 +54,32 @@ You can place the user folder from the theme/skeleton in /share/codex/www/user, ## Options +| Option | Description | Default | Example | +|--------|-------------|---------|---------| +| `PGID` | Group ID for file permissions | `0` | `1000` | +| `PUID` | User ID for file permissions | `0` | `1000` | +| `TZ` | Timezone in long format | - | `America/Los_Angeles` | +| `CODEX_RESET_ADMIN` | Reset admin user and password to defaults | - | `1` | +| `CODEX_SKIP_INTEGRITY_CHECK` | Skip database integrity repair on startup | - | `1` | +| `csrf_allowed` | Comma separated list of addresses allowed to access the app | `http://homeassistant.local:8123,https://homeassistant.local:8123` | `http://localhost:8123` | +| `localdisks` | Hardware name of drives to mount (comma separated) | - | `sda1,sdb1,MYNAS` | +| `networkdisks` | SMB servers to mount (comma separated) | - | `//SERVER/SHARE` | +| `cifsusername` | SMB username for all shares | - | `username` | +| `cifspassword` | SMB password | - | `password` | +| `cifsdomain` | SMB domain | - | `WORKGROUP` | + ```yaml -PGID: user -GPID: user -TZ : will explicitly the timezone in long format (e.g. "America/Los Angeles"). This is useful inside Docker because codex cannot automatically detect the host machine's timezone -CODEX_RESET_ADMIN=1 : will reset the admin user and its password to defaults when codex starts. -CODEX_SKIP_INTEGRITY_CHECK=1 : will skip the database integrity repair that runs when codex starts -csrf_allowed : comma separated list of addresses allowed to access the app -localdisks: sda1 #put the hardware name of your drive to mount separated by commas, or its label. ex. sda1, sdb1, MYNAS... -networkdisks: "//SERVER/SHARE" # optional, list of smb servers to mount, separated by commas -cifsusername: "username" # optional, smb username, same for all smb shares -cifspassword: "password" # optional, smb password +PGID: 1000 +PUID: 1000 +TZ: "America/Los_Angeles" +CODEX_RESET_ADMIN: 1 +CODEX_SKIP_INTEGRITY_CHECK: 1 +csrf_allowed: "http://homeassistant.local:8123,https://homeassistant.local:8123" +localdisks: "sda1,sdb1" +networkdisks: "//SERVER/SHARE" +cifsusername: "username" +cifspassword: "password" +cifsdomain: "WORKGROUP" ``` ### Custom Scripts and Environment Variables diff --git a/enedisgateway2mqtt_dev/README.md b/enedisgateway2mqtt_dev/README.md index 532bcc6fd..e3261401f 100644 --- a/enedisgateway2mqtt_dev/README.md +++ b/enedisgateway2mqtt_dev/README.md @@ -26,22 +26,43 @@ MyElectricalData allows an automated access to your Enedis data. See its github ## Configuration -Install, then start the addon a first time to initialize the templates. +Webui can be found at or through Ingress. +Initial setup requires starting the addon once to initialize configuration templates. -Options can be configured through two ways : +### Setup Steps -- Addon options +1. Start the addon to initialize configuration files +2. Configure your Enedis credentials in the config.yaml file +3. Set up MQTT connection details +4. Access the web interface to monitor data retrieval + +### Options + +| Option | Type | Default | Description | +|--------|------|---------|-------------| +| `CONFIG_LOCATION` | str | `/config/myelectricaldata/config.yaml` | Path to configuration file | +| `TZ` | str | `Europe/Paris` | Timezone (e.g., `Europe/London`) | +| `mqtt_autodiscover` | bool | `true` | Enable MQTT autodiscovery | +| `verbose` | bool | `true` | Enable verbose logging | + +### Example Configuration ```yaml -CONFIG_LOCATION: /config/myelectricaldata/config.yaml # Sets the location of the config.yaml (see below) -mqtt_autodiscover: true # Shows in the log the detail of the mqtt local server (if available). It can then be added to the config.yaml file. -TZ: Europe/Paris # Sets a specific timezone +CONFIG_LOCATION: "/config/myelectricaldata/config.yaml" +TZ: "Europe/London" +mqtt_autodiscover: true +verbose: false ``` -- Config.yaml - Everything is configured using the config.yaml file found in /config/myelectricaldata/config.yaml. +### Configuration File -The complete list of options can be seen here : https://github.com/m4dm4rtig4n/myelectricaldata/wiki/03.-Configuration +The main configuration is done via `/config/myelectricaldata/config.yaml`. This file contains: +- Enedis API credentials +- MQTT broker settings +- Data retrieval intervals +- Device configurations + +For complete configuration options, see: https://github.com/m4dm4rtig4n/myelectricaldata/wiki/03.-Configuration ## Installation diff --git a/epicgamesfree/README.md b/epicgamesfree/README.md index 7803c45fa..d6a5c1213 100644 --- a/epicgamesfree/README.md +++ b/epicgamesfree/README.md @@ -28,13 +28,130 @@ This addon is based on the docker image https://hub.docker.com/r/charlocharlie/e ## Configuration -Webui can be found at . +There are no addon options available through the Home Assistant interface. All configuration is done via JSON files. -There are no addon options. All configuration files in json format (config and cookies) must be manually added in /config/addons_config/epicgamesfree/ according to the documentation here for config files (https://github.com/claabs/epicgames-freegames-node#json-configuration) and cookies (https://github.com/claabs/epicgames-freegames-node#cookie-import) +### Configuration Files -If this file doesn't exist, it will be created at first boot. +Configuration files are stored in `/config/addons_config/epicgamesfree/`: -The last release changelog mentions that automatic redemption is not possible anymore due to epic improvement on automation detection. A redemption link is sent to your preferred notification method instead of being automated (thanks @Shiroe93) +- **config.json**: Main configuration file +- **cookies.json**: Authentication cookies (optional) + +If these files don't exist, they will be created at first boot with default settings. + +### Basic Configuration + +Create `/config/addons_config/epicgamesfree/config.json`: + +```json +{ + "accounts": [ + { + "email": "your-epic-email@example.com", + "password": "your-password", + "totp": "OPTIONAL_2FA_SECRET" + } + ], + "intervalHours": 24, + "onlyWeekly": false, + "searchStrategy": "purchase", + "browserNavigationTimeout": 300000, + "notifications": { + "email": { + "smtpHost": "smtp.gmail.com", + "smtpPort": 587, + "emailSenderAddress": "notifications@example.com", + "emailSenderName": "Epic Games Free", + "emailRecipientAddress": "recipient@example.com", + "secure": false, + "auth": { + "user": "notifications@example.com", + "pass": "your-app-password" + } + } + } +} +``` + +### Configuration Options + +| Option | Type | Description | +|--------|------|-------------| +| `accounts` | array | List of Epic Games accounts | +| `intervalHours` | number | Check interval in hours (default: 24) | +| `onlyWeekly` | boolean | Only claim weekly free games | +| `searchStrategy` | string | Search strategy: "purchase" or "claim" | +| `browserNavigationTimeout` | number | Browser timeout in milliseconds | +| `notifications` | object | Notification settings (email, webhook, etc.) | + +### Account Configuration + +For each account in the `accounts` array: + +```json +{ + "email": "account@example.com", + "password": "password", + "totp": "TOTP_SECRET", + "onlyWeekly": true +} +``` + +### Notification Methods + +#### Email Notifications +```json +"notifications": { + "email": { + "smtpHost": "smtp.gmail.com", + "smtpPort": 587, + "emailSenderAddress": "sender@example.com", + "emailRecipientAddress": "recipient@example.com", + "secure": false, + "auth": { + "user": "sender@example.com", + "pass": "app-password" + } + } +} +``` + +#### Webhook Notifications +```json +"notifications": { + "webhook": { + "url": "https://your-webhook-url.com", + "events": ["purchase-success", "already-owned"] + } +} +``` + +### Important Notes + +- **Automatic Redemption**: Due to Epic Games' improved automation detection, automatic redemption is no longer possible +- **Notification System**: The addon now sends redemption links via your preferred notification method instead of automatically claiming games +- **2FA Support**: TOTP (Time-based One-Time Password) is supported for accounts with two-factor authentication +- **Multiple Accounts**: You can configure multiple Epic Games accounts + +### Cookie Import (Optional) + +You can import browser cookies to avoid login issues. Create `/config/addons_config/epicgamesfree/cookies.json`: + +For detailed cookie import instructions, see: https://github.com/claabs/epicgames-freegames-node#cookie-import + +### Troubleshooting + +#### Timeout Errors +Add the following to your config.json: +```json +"browserNavigationTimeout": 300000 +``` + +#### Login Issues +1. Check your credentials are correct +2. Verify 2FA/TOTP configuration if enabled +3. Consider importing browser cookies +4. Check the addon logs for specific error messages ## Installation diff --git a/fireflyiii_data_importer/README.md b/fireflyiii_data_importer/README.md index edea4fbe2..cf59fd0ad 100644 --- a/fireflyiii_data_importer/README.md +++ b/fireflyiii_data_importer/README.md @@ -29,34 +29,62 @@ This addon is based on the docker image https://hub.docker.com/r/fireflyiii/data ## Configuration -Read official documentation for information how to set the variables: https://docs.firefly-iii.org/data-importer. +Webui can be found at . -Configurations can be added in the /addon_configs/xxx-fireflyiii_data_importer/configurations folder according to :https://docs.firefly-iii.org/data-importer/help/config/ +### Setup -An auto import can be made by adding files in /addon_configs/xxx-fireflyiii_data_importer/import_files according to : https://docs.firefly-iii.org/data-importer/usage/command_line/ +1. Ensure you have a running Firefly III instance +2. Configure the data importer to connect to your Firefly III installation +3. Set up import configurations and files as needed -Options can be configured through two ways : +For complete setup documentation, see: https://docs.firefly-iii.org/data-importer -- Addon options +### Options + +| Option | Type | Required | Description | +|--------|------|----------|-------------| +| `FIREFLY_III_URL` | str | Yes | URL to your Firefly III instance | +| `FIREFLY_III_ACCESS_TOKEN` | str | Yes | Personal Access Token from Firefly III | +| `CONFIG_LOCATION` | str | Yes | Location for configuration files | +| `FIREFLY_III_CLIENT_ID` | str | No | OAuth Client ID (alternative to access token) | +| `NORDIGEN_ID` | str | No | Nordigen Client ID for bank integration | +| `NORDIGEN_KEY` | str | No | Nordigen Client Secret | +| `SPECTRE_APP_ID` | str | No | Spectre/Salt Edge Client ID | +| `SPECTRE_SECRET` | str | No | Spectre/Salt Edge Client Secret | +| `AUTO_IMPORT_SECRET` | str | No | Secret for auto-import webhook | +| `CAN_POST_AUTOIMPORT` | bool | No | Allow auto-import functionality | +| `CAN_POST_FILES` | bool | No | Allow file uploads | +| `Updates` | list | No | Auto-import schedule (hourly, daily, weekly) | +| `silent` | bool | No | Suppress debug messages | + +### Example Configuration ```yaml -"CONFIG_LOCATION": location of the config.yaml # Sets the location of the config.yaml (see below) -"FIREFLY_III_ACCESS_TOKEN": required to access Firefly -"FIREFLY_III_CLIENT_ID": alternative way to access Firefly -"FIREFLY_III_URL": your url, either local (docker IP), or external (public IP) -"NORDIGEN_ID": your Nordigen Client ID -"NORDIGEN_KEY": your Nordigen Client Secret -"SPECTRE_APP_ID": your Spectre / Salt Edge Client ID -"SPECTRE_SECRET": your Spectre / Salt Edge Client secret -"Updates": hourly|daily|weekly # Sets an automatic upload of files set in /config/addons_config/fireflyiii_data_importer/import_files -"silent": true # suppresses debug messages +FIREFLY_III_URL: "http://homeassistant:8082" +FIREFLY_III_ACCESS_TOKEN: "your-access-token-here" +CONFIG_LOCATION: "/config" +NORDIGEN_ID: "your-nordigen-id" +NORDIGEN_KEY: "your-nordigen-key" +Updates: ["daily"] +silent: false ``` -- Config.yaml (advanced usage) +### File Locations -Additional variables can be set as ENV variables by adding them in the config.yaml in the location defined in your addon options according to this guide : https://github.com/alexbelgium/hassio-addons/wiki/Addons-feature:-add-env-variables +- **Configurations**: `/addon_configs/xxx-fireflyiii_data_importer/configurations/` + - Store import configuration files here + - See: https://docs.firefly-iii.org/data-importer/help/config/ -The complete list of ENV variables can be seen here : https://github.com/firefly-iii/data-importer/blob/main/.env.example +- **Import Files**: `/addon_configs/xxx-fireflyiii_data_importer/import_files/` + - Place CSV files here for automatic importing + - See: https://docs.firefly-iii.org/data-importer/usage/command_line/ + +### Getting a Firefly III Access Token + +1. Log into your Firefly III instance +2. Go to Options → Profile → OAuth → Personal Access Tokens +3. Create a new token with appropriate permissions +4. Copy the token and use it in the `FIREFLY_III_ACCESS_TOKEN` option ### Custom Scripts and Environment Variables diff --git a/fireflyiii_fints_importer/README.md b/fireflyiii_fints_importer/README.md index 9937faff0..2bf409e9b 100644 --- a/fireflyiii_fints_importer/README.md +++ b/fireflyiii_fints_importer/README.md @@ -28,13 +28,56 @@ This addon is based on the docker image https://hub.docker.com/r/benkl/firefly-i ## Configuration -Read official documentation for information how to set : https://github.com/bnw/firefly-iii-fints-importer +Webui can be found at . -Configurations can be added in the /config/addons_config/fireflyiii_fints_importer/ folder according to : https://github.com/bnw/firefly-iii-fints-importer#storing-configurations +This tool allows you to import transactions from your FinTS enabled bank (primarily German banks) into Firefly III. -### Cron job +### Setup Steps -A cron job running all configurations perdiodically can be activated by selecting a period. Please note the periods `daily2`, `daily4`, etc. run at 2am, 4am, etc., so you can select the hour when to update. +1. Ensure you have a running Firefly III instance +2. Access the web interface to configure bank connections +3. Set up import configurations for each bank account +4. Configure automatic import schedules if desired + +For detailed setup documentation, see: https://github.com/bnw/firefly-iii-fints-importer + +### Options + +| Option | Type | Description | +|--------|------|-------------| +| `Updates` | list | Automatic import schedule (hourly, daily2, daily4, daily6, daily8, daily10, daily12, weekly) | +| `silent` | bool | Suppress debug messages | + +### Example Configuration + +```yaml +Updates: ["daily6"] # Run daily at 6 AM +silent: false +``` + +### Automatic Import Schedule + +The `Updates` option allows you to schedule automatic imports: + +- `hourly`: Every hour +- `daily2`: Daily at 2:00 AM +- `daily4`: Daily at 4:00 AM +- `daily6`: Daily at 6:00 AM +- `daily8`: Daily at 8:00 AM +- `daily10`: Daily at 10:00 AM +- `daily12`: Daily at 12:00 PM +- `weekly`: Weekly (Sunday at 2:00 AM) + +### Configuration Storage + +Bank configurations and import settings are stored in: +`/config/addons_config/fireflyiii_fints_importer/` + +For configuration file format, see: https://github.com/bnw/firefly-iii-fints-importer#storing-configurations + +### FinTS Support + +This importer supports German banks that use the FinTS (Financial Transaction Services) protocol. Most major German banks support FinTS for automated transaction retrieval. ## Installation diff --git a/free_games_claimer/README.md b/free_games_claimer/README.md index e1e7adf83..125363f51 100644 --- a/free_games_claimer/README.md +++ b/free_games_claimer/README.md @@ -35,11 +35,62 @@ This addon is based on the docker image https://github.com/vogler/free-games-cla ## Configuration -Webui can be found at . +Webui can be found at (NoVNC interface - currently has issues on some machines). -There are no addon options. All configuration must be manually added in /config/addons_config/free_games_claimer/config.env according to the documentation here for config files (https://github.com/vogler/free-games-claimer#configuration--options) +### Options -If this file doesn't exist, it will be created at first boot. +| Option | Type | Default | Description | +|--------|------|---------|-------------| +| `CMD_ARGUMENTS` | str | `node epic-games ; node prime-gaming ; node gog` | Commands to run for claiming games | +| `CONFIG_LOCATION` | str | `/config/config.env` | Location of the configuration file | + +### Example Configuration + +```yaml +CMD_ARGUMENTS: "node epic-games ; node prime-gaming ; node gog" +CONFIG_LOCATION: "/config/config.env" +``` + +### Environment Configuration + +All main configuration is done via the `config.env` file located at `/config/addons_config/free_games_claimer/config.env`. + +If this file doesn't exist, it will be created at first boot with default settings. + +### Required Environment Variables + +Add these to your `config.env` file: + +```env +# Epic Games Store +EG_EMAIL=your-email@example.com +EG_PASSWORD=your-password + +# Amazon Prime Gaming +PG_EMAIL=your-amazon-email@example.com +PG_PASSWORD=your-amazon-password + +# GOG (optional) +GOG_EMAIL=your-gog-email@example.com +GOG_PASSWORD=your-gog-password + +# Notifications (optional) +EMAIL_SMTP_HOST=smtp.gmail.com +EMAIL_SMTP_PORT=587 +EMAIL_USER=notifications@example.com +EMAIL_PASS=your-app-password +EMAIL_TO=recipient@example.com +``` + +### Additional Options + +For complete configuration options and advanced settings, see: https://github.com/vogler/free-games-claimer#configuration--options + +### Important Notes + +- **VNC Issues**: The NoVNC web interface is currently not working reliably on several machines +- **Recommended**: Use the `config.env` file for configuration instead of the web interface +- **Security**: Store credentials securely and consider using app-specific passwords where available ### Custom Scripts and Environment Variables diff --git a/gazpar2mqtt/README.md b/gazpar2mqtt/README.md index 9e2e84a65..a5f3c485b 100644 --- a/gazpar2mqtt/README.md +++ b/gazpar2mqtt/README.md @@ -27,21 +27,62 @@ See its github for all informations : https://github.com/yukulehe/gazpar2mqtt ## Configuration -Options can be configured through two ways : +This addon fetches gas consumption data from GRDF (French gas utility) and publishes it to MQTT for Home Assistant integration. -- Addon options +### Setup Steps + +1. Create a GRDF account at https://monespace.grdf.fr/ +2. Configure your GRDF credentials in the config.yaml file +3. Set up MQTT connection details +4. Monitor data retrieval in the addon logs + +### Options + +| Option | Type | Default | Description | +|--------|------|---------|-------------| +| `CONFIG_LOCATION` | str | `/config/gazpar2mqtt/config.yaml` | Path to configuration file | +| `TZ` | str | `Europe/Paris` | Timezone (e.g., `Europe/London`) | +| `mqtt_autodiscover` | bool | `true` | Enable MQTT autodiscovery | +| `verbose` | bool | `true` | Enable verbose logging | + +### Example Configuration ```yaml -CONFIG_LOCATION: /config/gazpar2mqtt/config.yaml # Sets the location of the config.yaml (see below) -mqtt_autodiscover: true # Shows in the log the detail of the mqtt local server (if available). It can then be added to the config.yaml file. -TZ: Europe/Paris # Sets a specific timezone +CONFIG_LOCATION: "/config/gazpar2mqtt/config.yaml" +TZ: "Europe/Paris" +mqtt_autodiscover: true +verbose: false ``` -- Config.yaml +### Configuration File -Configuration is done by customizing the config.yaml that can be found in /config/gazpar2mqtt/config.yaml +The main configuration is done via `/config/gazpar2mqtt/config.yaml`. This file contains: +- GRDF account credentials +- MQTT broker settings +- Data retrieval intervals +- Device configurations -The complete list of options can be seen here : https://github.com/yukulehe/gazpar2mqtt +### Required Configuration in config.yaml + +```yaml +# GRDF Credentials +grdf: + username: "your-grdf-username" + password: "your-grdf-password" + +# MQTT Settings +mqtt: + host: "homeassistant.local" + port: 1883 + username: "mqtt-user" + password: "mqtt-password" + topic_prefix: "gazpar" + +# Optional: Update frequency +update_frequency: 3600 # seconds +``` + +For complete configuration options, see: https://github.com/yukulehe/gazpar2mqtt ## Installation diff --git a/grampsweb/README.md b/grampsweb/README.md index f3f7ecd07..44f70ae4d 100644 --- a/grampsweb/README.md +++ b/grampsweb/README.md @@ -1 +1,147 @@ -# Home assistant add-on: grampsweb +# Home assistant add-on: Grampsweb + +[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium) +[![Donate][paypal-badge]](https://www.paypal.com/donate/?hosted_button_id=DZFULJZTP3UQA) + +![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fgrampsweb%2Fconfig.yaml) +![Ingress](https://img.shields.io/badge/dynamic/json?label=Ingress&query=%24.ingress&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fgrampsweb%2Fconfig.yaml) +![Arch](https://img.shields.io/badge/dynamic/json?color=success&label=Arch&query=%24.arch&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fgrampsweb%2Fconfig.yaml) + +[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9c6cf10bdbba45ecb202d7f579b5be0e)](https://www.codacy.com/gh/alexbelgium/hassio-addons/dashboard?utm_source=github.com&utm_medium=referral&utm_content=alexbelgium/hassio-addons&utm_campaign=Badge_Grade) +[![GitHub Super-Linter](https://img.shields.io/github/actions/workflow/status/alexbelgium/hassio-addons/weekly-supelinter.yaml?label=Lint%20code%20base)](https://github.com/alexbelgium/hassio-addons/actions/workflows/weekly-supelinter.yaml) +[![Builder](https://img.shields.io/github/actions/workflow/status/alexbelgium/hassio-addons/onpush_builder.yaml?label=Builder)](https://github.com/alexbelgium/hassio-addons/actions/workflows/onpush_builder.yaml) + +[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee%20(no%20paypal)-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white +[paypal-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee%20with%20Paypal-0070BA?logo=paypal&style=flat&logoColor=white + +_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_ + +[![Stargazers repo roster for @alexbelgium/hassio-addons](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stars2.svg)](https://github.com/alexbelgium/hassio-addons/stargazers) + +![downloads evolution](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/grampsweb/stats.png) + +## About + +--- + +[Gramps Web](https://github.com/gramps-project/gramps-web) is a web application for creating and sharing family trees. It's the web frontend for Gramps, the free and open-source genealogy software. + +Gramps Web offers: +- Modern web interface for genealogy research +- Multi-user support with user management +- Rich media support (photos, documents, etc.) +- Advanced search and filtering capabilities +- Charts and reports generation +- Import/export capabilities for various formats +- RESTful API for integrations + +This addon is based on the official Gramps Web project: https://github.com/gramps-project/gramps-web + +## Configuration + +--- + +Webui can be found at . + +### Options + +| Option | Type | Default | Description | +|--------|------|---------|-------------| +| `CELERY_NUM_WORKERS` | int | `2` | Number of Celery workers for background tasks | +| `GUNICORN_NUM_WORKERS` | int | `8` | Number of Gunicorn workers for web requests | +| `GRAMPSWEB_SECRET_KEY` | str | - | Secret key for session security (auto-generated if not set) | +| `GRAMPSWEB_BASE_URL` | str | - | Base URL for the application | +| `ssl` | bool | `false` | Enable SSL/TLS | +| `certfile` | str | `fullchain.pem` | SSL certificate file | +| `keyfile` | str | `privkey.pem` | SSL private key file | + +### Email Configuration (Optional) + +| Option | Type | Description | +|--------|------|-------------| +| `GRAMPSWEB_EMAIL_HOST` | str | SMTP server hostname | +| `GRAMPSWEB_EMAIL_PORT` | int | SMTP server port | +| `GRAMPSWEB_EMAIL_USE_TLS` | bool | Use TLS encryption | +| `GRAMPSWEB_EMAIL_HOST_USER` | str | SMTP username | +| `GRAMPSWEB_EMAIL_HOST_PASSWORD` | str | SMTP password | +| `GRAMPSWEB_DEFAULT_FROM_EMAIL` | str | Default sender email address | + +### Example Configuration + +```yaml +CELERY_NUM_WORKERS: 2 +GUNICORN_NUM_WORKERS: 8 +GRAMPSWEB_SECRET_KEY: "your-secret-key-here" +GRAMPSWEB_BASE_URL: "https://gramps.example.com" +ssl: true +certfile: "fullchain.pem" +keyfile: "privkey.pem" +GRAMPSWEB_EMAIL_HOST: "smtp.gmail.com" +GRAMPSWEB_EMAIL_PORT: 587 +GRAMPSWEB_EMAIL_USE_TLS: true +GRAMPSWEB_EMAIL_HOST_USER: "your-email@gmail.com" +GRAMPSWEB_EMAIL_HOST_PASSWORD: "your-app-password" +GRAMPSWEB_DEFAULT_FROM_EMAIL: "gramps@example.com" +``` + +### Custom Scripts and Environment Variables + +This addon supports custom scripts and environment variables through the `addon_config` mapping: + +- **Custom scripts**: See [Running Custom Scripts in Addons](https://github.com/alexbelgium/hassio-addons/wiki/Running-custom-scripts-in-Addons) +- **Environment variables**: See [Add Environment Variables to your Addon](https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon) + +## Installation + +--- + +The installation of this add-on is pretty straightforward and not different in comparison to installing any other add-on. + +1. Add my add-ons repository to your home assistant instance (in supervisor addons store at top right, or click button below if you have configured my HA) + [![Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.](https://my.home-assistant.io/badges/supervisor_add_addon_repository.svg)](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Falexbelgium%2Fhassio-addons) +1. Install this add-on. +1. Click the `Save` button to store your configuration. +1. Set the add-on options to your preferences +1. Start the add-on. +1. Check the logs of the add-on to see if everything went well. +1. Open the webUI and set up your first user account + +## First Time Setup + +--- + +After starting the addon for the first time: + +1. Navigate to the web interface +2. Create an admin user account +3. Set up your genealogy database +4. Import existing GEDCOM files or start creating your family tree +5. Configure user permissions and sharing settings + +## Data Storage + +The addon stores data in several locations within the `/config` directory: +- **Database**: `/config/config/` - Main Gramps database files +- **Media**: `/config/media/` - Photos, documents, and other media files +- **Users**: `/config/users/` - User accounts and authentication data +- **Cache**: `/config/cache/` - Temporary files and reports +- **Search Index**: `/config/indexdir/` - Search indexing data + +## Backup Recommendations + +For data safety, regularly backup: +- The entire `/config` directory (contains all data) +- Export GEDCOM files from the web interface +- Document your user accounts and permissions + +## Performance Tuning + +- **CELERY_NUM_WORKERS**: Adjust based on your system's CPU cores +- **GUNICORN_NUM_WORKERS**: Increase for more concurrent users +- Consider using an external MySQL/PostgreSQL database for better performance + +## Support + +Create an issue on github + +[repository]: https://github.com/alexbelgium/hassio-addons \ No newline at end of file