Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ryan-willis/loan-wolf
Track loan payments like you're on the hunt!
https://github.com/ryan-willis/loan-wolf
loan loan-calculator loan-management-system self-hosted
Last synced: 22 days ago
JSON representation
Track loan payments like you're on the hunt!
- Host: GitHub
- URL: https://github.com/ryan-willis/loan-wolf
- Owner: ryan-willis
- License: mit
- Created: 2024-05-20T21:07:14.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-08-11T00:06:46.000Z (5 months ago)
- Last Synced: 2024-11-26T19:39:57.938Z (about 1 month ago)
- Topics: loan, loan-calculator, loan-management-system, self-hosted
- Language: TypeScript
- Homepage: https://loan-wolf.r7.cx
- Size: 7.99 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
LOAN WOLF
### Track loan payments like you're on the hunt!
https://loan-wolf.r7.cx
## About
Loan Wolf is a simple loan tracker that allows you to create loans and manage payments. It's built with [Remix](https://remix.run), [Prisma](https://prisma.io), and [Mantine](https://mantine.dev).
Create a shareable loan that only you can manage with basic password protection.
![](docs/demo.gif)
### Running Loan Wolf
#### Docker
To run the application yourself, I recommend using Docker:
```sh
docker run -d -p 3000:3000 ghcr.io/ryan-willis/loan-wolf:latest
```Then visit [http://localhost:3000](http://localhost:3000) in your browser.
#### Docker Compose
You can also use Docker Compose (if you've checked out the repo):
```sh
docker-compose up -d
```Here's a minimal configuration for `docker-compose.yml`:
```yaml
services:
loan-wolf:
image: ghcr.io/ryan-willis/loan-wolf:latest
ports:
- 3000:3000
```The SQLite database will be stored in a volume at `/data/loan-wolf` within the container so data will persist between container restarts.
You can add your own volume to the `loan-wolf` service to persist the data on the host machine:```sh
docker run -d -p 3000:3000 -v ~/.loan-wolf:/data/loan-wolf ghcr.io/ryan-willis/loan-wolf:latest
``````yaml
volumes:
loan_wolf:
services:
loan-wolf:
image: ghcr.io/ryan-willis/loan-wolf:latest
ports:
- 3000:3000
volumes:
- loan_wolf:/data/loan-wolf
```### Environment Variables
If any of the `_SECRET` environment variables are not specified, randomly generated values will be placed in the `/data/loan-wolf` directory when the container is first run. (If you're running the built application locally, these files will be placed in the operating system's temporary directory.)
- `SESSION_SECRET`
- A secure string for signing session cookies.
- `PASSWORD_SECRET`
- A secure string for hashing passwords in the database (uses `argon2` under the hood).
- `DATABASE_URL`
- The connection string for the SQLite database (defaults to `file:/data/loan-wolf/sqlite3.db`).## Local Development
Run the Vite dev server (full stack):
```sh
npm run dev
```