fix(store): update hammond with fork/healthcheck/Tz (#976)

Co-authored-by: Nicolas Meienberger <47644445+meienberger@users.noreply.github.com>
This commit is contained in:
JigSaw 2023-08-10 00:21:28 +02:00 committed by GitHub
parent 5e8e082625
commit 3f3d471fec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 65 additions and 25 deletions

View File

@ -5,12 +5,19 @@
"available": true,
"exposable": true,
"id": "hammond",
"tipi_version": 2,
"version": "1.0.0",
"tipi_version": 3,
"version": "0.0.21",
"categories": ["utilities"],
"description": "Self hosted vehicle and expense management system. Like Clarkson, but better",
"short_desc": "Self hosted vehicle and expense management system. Like Clarkson, but better",
"author": "Akhilrex",
"source": "https://github.com/akhilrex/hammond",
"form_fields": []
"author": "Akhilrex, alfhou",
"source": "https://github.com/alfhou/hammond",
"form_fields": [
{
"type": "text",
"label": "TimeZone",
"placeholder": "Europe/Paris",
"env_variable": "HAMMOND_TZ"
}
]
}

View File

@ -1,14 +1,18 @@
version: "3"
version: "3.8"
services:
hammond:
container_name: hammond
image: akhilrex/hammond:1.0.0
image: alfhou/hammond:v0.0.21
ports:
- ${APP_PORT}:3000
volumes:
- ${APP_DATA_DIR}/data/config:/config
- ${APP_DATA_DIR}/data/assets:/assets
- /etc/timezone:/etc/timezone
- /etc/localtime:/etc/localtime
environment:
- TZ=${HAMMOND_TZ-Europe/Paris}
restart: unless-stopped
networks:
- tipi_main_network
@ -37,3 +41,9 @@ services:
traefik.http.routers.hammond-local.entrypoints: websecure
traefik.http.routers.hammond-local.service: hammond
traefik.http.routers.hammond-local.tls: true
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:3000
interval: 10s
timeout: 5s
retries: 5
start_period: 30s

View File

@ -1,26 +1,49 @@
# Hammond
Current Version - 2022.07.06
A self-hosted vehicle expense tracking system with support for multiple users.
[**Explore the docs »**](https://github.com/akhilrex/hammond)
[Report Bug](https://github.com/akhilrex/hammond/issues) · [Request Feature](https://github.com/akhilrex/hammond/issues) · [Screenshots](https://github.com/akhilrex/hammond/blob/master/Screenshots.md)
## About The Project
Hammond is a self hosted vehicle management system to track fuel and other expenses related to all of your vehicles. It supports multiple users sharing multiple vehicles. It is the logical successor to Clarkson which has not been updated for quite some time now.
_Developers Note: This project is under active development which means I release new updates very frequently. It is recommended that you use something like [watchtower](https://github.com/containrrr/watchtower) which will automatically update your containers whenever I release a new version or periodically rebuild the container with the latest image manually._
**Also check out my other self-hosted, open-source solution - [Podgrab](https://github.com/akhilrex/podgrab) - Podcast download and archive manager and player.**
Hammond is a self hosted vehicle management system to track fuel and other expenses related to all of your vehicles.
It supports multiple users sharing multiple vehicles.
It is the logical successor to Clarkson which has not been updated for quite some time now.
This repo is again a fork of akhilrex's great [project](https://github.com/akhilrex/hammond).
### Motivation and Developer Notes
I was looking for a fuel tracking system and stumbled upon Clarkson. Although it did most of what I needed it has not been updated for quite a lot of time. Since I had some bandwidth available as my previous open source project [Podgrab](http://github.com/akhilrex/podgrab) had become quite stable now, my first thought was to contribute to the Clarkson project only. I soon realized that the architecture that Clarkson had used was not really be that extensible now and would warrant a complete rewrite only. So I decided to build Hammond - The successor to Clarkson.
As mentioned, this project is a fork of akhilrex's [project](https://github.com/akhilrex/hammond) which is no longer active.
To prevent the same from happeing to this project, we are seeking to add more maintainers/collaborators who have access to merge PRs.
The current version of Hammond is written using GO for backend and Vuejs for the front end. Originally I had thought of using the same tech stack for both frontend and the backend so that it became easier for users and other developers to use, deploy and contribute. Which is why the first version of Hammond has a NestJS backend complete with all the bells and whistles (GraphQL, Prisma and what nots). But I eventually decided to rebuild the backend in GO just to keep the container size small. No matter how much you can optimize the sheer size of the node\_modules will always add bulk to your containers. I host all my tools on my Raspberry Pi. It only makes sense to keep the container size as small as possible.
We are trying our best to update with new features and feedback is very welcome.
Also I had initially thought of a 2 container approach (1 for backend and 1 for the frontend) so that they can be independently maintained and updated. I eventually decided against this idea for the sake of simplicity. Although it is safe to assume that most self-hosters are fairly tech capable it still is much better to have a single container that you can fire and forget.
The project is written using Go for the backend and Vuejs for the front end.
[![Product Name Screen Shot](https://github.com/akhilrex/hammond/raw/master/images/screenshot.jpg)](https://github.com/akhilrex/hammond/blob/master/images/screenshot.jpg) [More Screenshots](https://github.com/akhilrex/hammond/blob/master/Screenshots.md)
### Built With
- [Go](https://golang.org/)
- [Go-Gin](https://github.com/gin-gonic/gin)
- [GORM](https://github.com/go-gorm/gorm)
- [SQLite](https://www.sqlite.org/index.html)
- [VueJS](https://vuejs.org/)
- [Vuex](https://vuex.vuejs.org/)
- [Buefy](https://buefy.org/)
#### Fresh setup
You will have to provide your name, email and password so that an admin user can be created for you.
Once done you will be taken to the login page.
Go through the settings page once and change relevant settings before you start adding vehicles and expenses.
## License
Distributed under the GPL-3.0 License. See `LICENSE` for more information.
## Roadmap
- [ ] More reports
- [ ] Vehicle specific reminders (servicing etc)
- [ ] Native installer for Windows/Linux/MacOS
## Contact
Project Link: [https://github.com/AlfHou/hammond](https://github.com/AlfHou/hammond)
[product-screenshot]: images/screenshot.jpg