https://github.com/tborychowski/zakupnik3
Brilliant home-spendings-logger/manager
https://github.com/tborychowski/zakupnik3
docker expense-tracker self-hosted spending-tracker spendings-logger
Last synced: 11 months ago
JSON representation
Brilliant home-spendings-logger/manager
- Host: GitHub
- URL: https://github.com/tborychowski/zakupnik3
- Owner: tborychowski
- License: gpl-3.0
- Created: 2018-03-28T14:50:17.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-02T20:40:14.000Z (over 3 years ago)
- Last Synced: 2025-02-28T19:00:37.008Z (over 1 year ago)
- Topics: docker, expense-tracker, self-hosted, spending-tracker, spendings-logger
- Language: JavaScript
- Homepage:
- Size: 7.32 MB
- Stars: 14
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# ZAKUPNIK 3
Another version of a brilliant home-spendings-logger/manager.
Mobile friendly and simpler than ever.
## Screenshots

## Get started
### Docker
Requires docker to be installed and running.
Create `docker-compose.yml` file in a directory somewhere with the contents (or copy this file from the this repo):
```yml
---
version: '3.7'
services:
zakupnik:
container_name: zakupnik
image: tborychowski/zakupnik
restart: unless-stopped
ports:
- "3000:${PORT}"
env_file:
- ./.env
volumes:
- ./database.db:/app/database.db
```
Then run:
```sh
docker-compose up -d
```
Your app should be available on [localhost:3000](http://localhost:3000).
The database.db file should be created in the same directory, so you can back it up periodically.
### Local instance
Requires: `node` and `npm` to be installed locally.
Run the following commands:
```sh
git clone https://github.com/tborychowski/zakupnik3.git zakupnik
cd zakupnik
npm ci
npm run startprod
```
## Configuration
Create `.env` file:
- when running with docker - in the same directory as your `docker-compose.yml`
- when running locally - in the root dir of the repo
You can copy the attached `.env-example` file and just modify the values:
```env
SESSION_SECRET=abcdef
AUTH=true
LOGIN=admin
PASSWORD=admin
PORT=3000
NODE_ENV=prod
```
- `SESSION_SECRET` - is used to encrypt the auth session and api requests
- `AUTH` - allows you to disable the authentication, and run the app without the need to login. This is not recommended when the app is deployed to a public location!
- `LOGIN` and `PASSWORD` - are your user credentials (when `AUTH` is `true`)
- `PORT` - is the port on which the app will run inside the container.
- `NODE_ENV` - is the environment type. `prod` or `production` should be set for production environments, otherwise: `dev` or `development`.
## Building docker image
Run
```sh
docker build -t tborychowski/zakupnik .
```