homelab-blueprint/docker-compose-files/gramps-web/README.md
2026-06-15 10:53:29 +02:00

2.2 KiB

Gramps Web

Docker deployment for Gramps Web with Celery and Redis. Run all commands from the repository root.

Appdata Location

This template currently stores persistent directories in the project root as gramps_*, beside docker-compose.gramps-web.yml. Media is mounted from /mnt/gramps_media. Do not create these directories inside docker-compose-files/.

Installation

  1. Create .env if it does not exist:

    cp -n .env.sample .env
    
  2. Set the Gramps, OIDC, and email values in .env. At minimum configure TREE, BASE_URL, SECRET_KEY, and USER_DB_URI.

  3. Create persistent directories and render both templates:

    mkdir -p gramps_{users,index,thumb_cache,cache,secret,db,config,data,tmp}
    ./substitute_env.sh docker-compose-files/gramps-web/config/config_template.cfg gramps_config/config.cfg .env
    ./substitute_env.sh docker-compose-files/gramps-web/template.yaml docker-compose.gramps-web.yml .env
    
  4. Validate and start Gramps Web:

    docker compose -f docker-compose.gramps-web.yml config --quiet
    docker compose -f docker-compose.gramps-web.yml up -d
    
  5. Verify the containers and open http://<HOST_IP>:

    docker compose -f docker-compose.gramps-web.yml ps
    docker compose -f docker-compose.gramps-web.yml logs --tail=100
    

Apply Configuration Changes

./substitute_env.sh docker-compose-files/gramps-web/config/config_template.cfg gramps_config/config.cfg .env
./substitute_env.sh docker-compose-files/gramps-web/template.yaml docker-compose.gramps-web.yml .env
docker compose -f docker-compose.gramps-web.yml up -d

Initial Setup

Open Gramps Web, create the first user, and configure the family tree. Confirm OIDC and email settings if enabled.

Network Requirements

  • Allow trusted clients or Caddy to reach port 80.
  • Ensure /mnt/gramps_media exists and is accessible to Docker.

Troubleshooting

Check that gramps_config/config.cfg, /mnt/gramps_media, and all gramps_* directories exist before starting the stack.

Useful Commands

docker compose -f docker-compose.gramps-web.yml restart grampsweb

Backup

Back up the project-root gramps_* directories and /mnt/gramps_media.