Config export and import: back up and restore the PaperPi config
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- python
Línea de trabajo
Start with docs/decisions/config-format.md and the existing config check and save paths; also read the related issues #248 and #272 for version handling and reload behavior. Then map the CLI and settings page entry points for import and export. Done means validated imports preserve the current config on failure, keep a recoverable backup, apply successfully, and exports clearly warn about included secrets and excluded plugin files.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What
A way to back up the PaperPi configuration and put it back later, for example after a fresh install, on a new SD card, or to copy a setup to a second frame.
- Export: save the current config as one file.
- Import: load such a file, check it, and use it as the new config.
Why
All settings live in one TOML file (docs/decisions/config-format.md). Today the only way to back it up is to copy that file by hand over SSH, and only root and the PaperPi service can read it. A built-in export and import makes this easy and safe for people who don't use the command line.
Decisions (txoof, 2026-10-25)
- Secrets are included. The export holds the web password and plugin API keys. Every export path shows an explicit warning: the file contains passwords and keys, so keep it somewhere safe and don't share it.
- Only the configuration. Plugin files (plugin storage folders, slideshow pictures, outside plugins from #326) are not copied. Export warns about this clearly.
- Plugin IDs stay the same. Each frame has its own storage, so two frames with the same IDs don't get in each other's way, and importing on the same frame reuses the plugins' existing storage folders.
- Config versions: configs should keep working between minor versions of PaperPi. At a major version, import checks the file's
config_versionand tries to upgrade it. Handling major-version imports is low priority for now. (This is not about v1paperpi.inifiles; that is #248.) - Missing plugins: a plugin block whose plugin is not installed on this frame is still imported, but switched off (
enabled = false). Import lists these plugins in a warning with a hint on how to install them. Once the plugin is installed, the user can switch the block back on. - Both on the disk and over the web. Export can save to the local disk or download through the web interface. Import works the same way: from a file on the local disk or uploaded through the web interface.
Scope
- Command line:
paperpi config export [-o FILE](local disk) andpaperpi config import FILE. - Web interface: Export (download) and Import (upload) on the settings page, plus an option to save to and load from a file on the frame's disk.
- Import runs the normal config check before the file is used. A bad file is refused with a clear message, and the current config is not changed.
- Import keeps a copy of the old config, so a wrong import can be undone.
- Import is written safely (temporary file, then replace in one step), like every other config save.
- After import, the new config is applied the same way as
paperpi reload(#272). - The exported file is only readable by its owner when it is saved on the frame (same as the config file).
Related: #248 (v1 → v2 tool), #272 (paperpi reload), #326 (outside plugin folder).
🤖 Generated with Claude Code
- Lenguaje dominante
- Python
- Estrellas
- 205
- Forks
- 17
- Merge medio
- 3 h 49 min
- PR fusionados (30 d)
- 89
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de txoof/PaperPi
-
enhancement
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
area:plugins enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
area:install enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
Upate album art in music pluginsAbiertoarea:plugins
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
Los mantenedores suelen responder en 1 día
Todos los issues de txoof/PaperPi
Issues similares
-
PluginProvider.storeInstance races and clobbers the dedup cache for concurrent loadsPosiblemente ocupada @Wilson0511 la tomó hoy. Abiertoneeds-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 2 días
-
community documentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
bug(sdk): add_toleration_json silently drops camelCase tolerationSeconds for static dict/list inputPosiblemente ocupada @ravikumar266 la tomó hoy. Abiertoarea/sdk kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
kubeflow/pipelines#15347 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
predict_file with crop_model duplicates predictions once per imagePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
weecology/DeepForest#1445 ·