Files
stockhome/README.md
T
2026-07-10 13:31:48 +02:00

177 lines
5.8 KiB
Markdown

# Stockhome
![React](https://img.shields.io/badge/React-61DAFB?logo=react&logoColor=000&style=flat)
![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=fff&style=flat)
![Vite](https://img.shields.io/badge/Vite-646CFF?logo=vite&logoColor=fff&style=flat)
![Tailwind%20CSS](https://img.shields.io/badge/Tailwind%20CSS-38B2AC?logo=tailwindcss&logoColor=fff&style=flat)
![MUI](https://img.shields.io/badge/MUI-007FFF?logo=mui&logoColor=fff&style=flat)
![TanStack%20Query](https://img.shields.io/badge/TanStack%20Query-FF4154?logo=reactquery&logoColor=fff&style=flat)
![React%20Router](https://img.shields.io/badge/React%20Router-CA4245?logo=reactrouter&logoColor=fff&style=flat)
[![TanStack%20Form](https://img.shields.io/badge/TanStack%20Form-EC5990?logo=reacthookform&logoColor=fff)](#)
![Node.js](https://img.shields.io/badge/Node.js-339933?logo=nodedotjs&logoColor=fff&style=flat)
![Express](https://img.shields.io/badge/Express-000000?logo=express&logoColor=fff&style=flat)
![MySQL](https://img.shields.io/badge/MySQL-4479A1?logo=mysql&logoColor=fff&style=flat)
![Docker](https://img.shields.io/badge/Docker-2496ED?logo=docker&logoColor=fff&style=flat)
![Nginx](https://img.shields.io/badge/Nginx-009639?logo=nginx&logoColor=fff&style=flat)
The problem solver for every household in the world: **STOCKHOME**! Have you ever spent too long searching for things in
your freezer or pantry? If so, this open-source project is just the right thing for your home server!
<p align="center">
<img src="./.github/assets/Arc_Inventory.low.jpg" width="802" alt="Inventory Screenshot" />
</p>
## Features
- Organize your food at home
- Keep track of the Expiry and Bottling date of your food
- Generate QR codes for your food and products to easily scan them with your smartphone to see all the details
- Organize your food and products into different storages (Storage locations)
- Rename your app and change the currency
- Keep track of the stored amount of your food
- Keep track of the costs for your food
## Installation
### 1. Install Docker
If you haven't installed Docker yet, install it by running as root:
```shell
curl -sSL https://get.docker.com | sh
exit
```
### 2. Clone repository
**_Recommended because it is easy to update_**
Clone this repository by running:
```shell
git clone --branch v0.1 --single-branch https://github.com/theis-js/stockhome.git
```
You can replace `v0.1` with any other release tag to get your desired version of the repo. You can also use `dev` to get
the latest development version, but keep in mind that it may contain bugs and errors.
View the available version tags here: [Releases](https://github.com/theis-js/stockhome/tags)
> **Note** To do this, you must have git installed. [How to install git?](https://git-scm.com/install/)
### 3. Create `.env` file
In the root directory of this repository create an `.env` file and enter the following records:
```txt
MYSQL_ROOT_PASSWORD=
AUTH_SIGNATURE=
BACKEND_HOST=stockhome-backend
```
Make sure that you have set a secure root password and a secure signature.
> **Note** These three values cannot contain special characters.
The `BACKEND_HOST` can be set to the IP address of your server or to `localhost` if you are running the app on your
local machine.
> **Change Docker Config:** If you want to run the stack for example in a docker network or want to change something at
> the docker config, visit the [Docker docs](./.github/docs/docker/README.md) for this project.
### 4. Start Stockhome
First, navigate into the root directory of this repository and run:
```shell
docker compose up -d --build
```
The database and all necessary services are started and initialized automatically.
### 5. First login
The default admin credentials are always:
```
Username: admin
Password: admin
```
The docker config exposes the frontend on port `80`. Therefore, you can access the web page either on
`http://localhost`, if you hosted it on your local machine, or under the IP-Adress or hostname of your server.
If port `80` is occupied, you can change the docker-compose. Therefore, take a look
at [Change Port Config](.github/docs/docker/README.md#ports).
_Keep in mind that you should change the password later in the settings page._
> **Note** If errors occur get yourself some help in the [error code page](./.github/docs/error/README.md).
## Feedback and bug reports - Troubleshooting
I'd be grateful if you could report any bugs as issues here in the
repository! [Report a bug](https://github.com/theis-js/stockhome/issues/new/choose)
## Update
To update Stockhome to the latest version, navigate into the root directory of this repository and run:
```shell
git fetch --all --tags && git checkout "$(git describe --tags "$(git rev-list --tags --max-count=1)")"
```
To rebuild the containers run:
```shell
docker compose up -d --build
```
To update/downgrade to a specific version, run the command below. You can replace `v0.1` with the tag/version you want.
You can find all Releases her: [Releases](https://github.com/theis-js/stockhome/tags).
**Example to downgrade/update to version `v0.1`:**
```shell
git fetch --all
git checkout v0.1
docker compose up -d --build
```
## Development
### Prerequisites
- Docker
- Visual Studio Code (or any other IDE)
- Cloned the repository
### Initialize repository dependencies
First, navigate into the root directory of this repository and run:
```shell
npm install
```
### Start development environment
Stay in the root directory and run:
```shell
npm run build:shared
npm run dev
```
The frontend is now running on `http://localhost:5173` and the backend is running on `http://localhost:8004`.
## License
This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Whole project made by [Theis Gaedigk](https://portfolio-theis.de)!