No description
  • Python 50.4%
  • Svelte 19.8%
  • TypeScript 12.8%
  • Shell 7.4%
  • CSS 4.2%
  • Other 5.4%
Find a file
2026-04-04 19:23:44 +02:00
backend ~ fix: mounting with 'html = True' so '/' will properly load the index.html 2026-03-31 14:15:37 +02:00
frontend ~ some updates to the styling 2026-04-04 19:23:44 +02:00
fs ~ fix: making sure that the destination directories exist 2024-02-26 22:40:03 +01:00
install #3: fix: Dockerfile uses 'ENV' instead of 'ARG' as we want the configuration during runtime and not build time; updated the documentation 2026-02-05 19:13:58 +01:00
.gitignore ~ added 'dist' to the gitignore list 2026-01-27 20:31:31 +01:00
Jenkinsfile #3: added a step for the docker build 2026-02-04 01:46:39 +01:00
LICENSE + initial commit 2024-02-26 00:25:01 +01:00
README.md ~ dropped references to 'pex' as we switched to 'pyInstaller' instead 2026-02-05 19:12:13 +01:00

StandWithUkraine

ResticDash

Motivation

restic itself is a popular backup tool which works pretty reliable and efficiently. I'm running several backups in my homelab on a time schedule. In general there shouldn't be any issue with that but how can I be sure?

That's where this dashboard comes in. It's meant to visually show if a backup ran in a specified timeframe. If it ran it's green and otherwise it will simply be red, so I might need to check in on that.

Another reason for this dashboard is the fact that I like to dabble in other unfamiliar technologies as I'm primarily a Java/Kotlin/Spring dev. So this little dashboard serves as a useful playground and a way to practice other stuff.

A note of caution

  • I myself am neither a python nor a frontend developer. So the codebase is based upon a very small skillset.

  • Everything is based on Linux as it's meant to be used for myself. However I appreciate any kind of feedback to improve or fix my codebase.

  • The UI isn't very appealing as I clearly have no talent for visual stuff. Suggestions are welcome.

Project Walkthrouh

Repository Structure

This repository contains the following directories:

fs

This is a simple directory with several bash scripts used to setup some restic repositories which is useful for testing purposes.

Further information can be found here: README.md

backend

The backend has been written in python and provides a basic REST server as well as the frontend code.

Further information can be found here: README.md

frontend

The frontend has been written using svelte and especially Svelte 5 and it's runes which makes life for frontend developers much easier.

Further information can be found here: README.md

install

The install directory is just a collection of scripts and files allowing to configure a Linux service making use of this dashboard. It also contains the support for docker.

Further information can be found here: README.md

License

MIT © Kasisoft.com - daniel.kasmeroglu@kasisoft.com

Technologies

  • arktype - Type specification and object validation. #arktype
  • axios - HTTP Client #axios
  • docker - Containerized deployments
  • flask - Minimal HTTP server for Python #flask #python
  • flowbite - tailwindcss based UI components #flowbite #tailwindcss
  • pnpm - Package management alternative for frontends #pnpm
  • pyinstaller - Executable generation for Python #python
  • python - Implementation language used for the backend #python
  • restic - Backupsoftware written in Golang #restic
  • resticpy - python wrapper for restic #python #restic
  • svelte - Frontend framework #svelte #svelte5
  • tailwindcss - Collection of systematically specific CSS classes #tailwindcss
  • typescript - Typed extension to Javascript #typescript
  • vite - Great build platform for frontend projects #vite
  • yaml - Text based and well structured format #yaml