From 0a25edbf5cbcab97b86490730c7fa443e11f46e3 Mon Sep 17 00:00:00 2001 From: skidoodle Date: Fri, 3 Jan 2025 12:26:35 +0100 Subject: [PATCH] Update readme.md --- readme.md | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 75 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index dd5c4bd..d77b19f 100644 --- a/readme.md +++ b/readme.md @@ -2,11 +2,35 @@ A simple, web-based app to track items you want to buy later. It lets you easily add, update, and manage your items, with the ability to toggle between "Paid" and "Unpaid" statuses. +## Features +- Add, update, and delete items in your list. +- Toggle item statuses between "Paid" and "Unpaid." +- User-friendly interface with responsive design. + +## Tech Stack - **Framework**: [Next.js](https://nextjs.org/) - **Styling**: [ShadCN UI](https://ui.shadcn.com/) - **Database**: [PocketBase](https://pocketbase.io/) +- **Package Manager**: [pnpm](https://pnpm.io/) +- **Containerization**: [Docker](https://www.docker.com/) -## Running Locally +## Getting Started + +### Setting Environment Variables +Before running the app, set the following environment variables in a `.env.local` file: +- `NEXT_PUBLIC_POCKETBASE_URL`: The URL of your PocketBase server. +- `EMAIL`: The email address used to log in to the PocketBase instance. +- `PASSWORD`: The password used to log in to the PocketBase instance. + +Example: +```env +NEXT_PUBLIC_POCKETBASE_URL=https://pocketbase +EMAIL=example@example.com +PASSWORD=yourpassword +``` + +### Running Locally +To run Budgetable on your local machine, follow these steps: ```bash git clone https://github.com/skidoodle/budgetable @@ -14,7 +38,56 @@ cd budgetable pnpm install pnpm dev ``` +Access the app at `http://localhost:3000`. + +### Deployment with Docker +#### Using Docker Run +1. Pull the Docker image from GitHub Container Registry: + ```bash + docker pull ghcr.io/skidoodle/budgetable:main + ``` +2. Run the Docker container with a persistent volume: + ```bash + docker run -d \ + -p 3000:3000 \ + --name budgetable \ + -v data:/app \ + -e NEXT_PUBLIC_POCKETBASE_URL=https://pocketbase \ + -e EMAIL=example@example.com \ + -e PASSWORD=yourpassword \ + ghcr.io/skidoodle/budgetable:main + ``` +3. Access the app at `http://localhost:3000`. + +#### Using Docker Compose +1. Create a `docker-compose.yml` file in the project root: + ```yaml + services: + budgetable: + image: ghcr.io/skidoodle/budgetable:main + ports: + - "3000:3000" + volumes: + - data:/app + environment: + NEXT_PUBLIC_POCKETBASE_URL: https://pocketbase + EMAIL: example@example.com + PASSWORD: yourpassword + volumes: + data: + ``` +2. Start the services: + ```bash + docker-compose up -d + ``` +3. Access the app at `http://localhost:3000`. ## License - [GPL-3.0](https://github.com/skidoodle/budgetable/blob/master/license) + +## Contributing +Contributions are welcome! Feel free to open issues or submit pull requests. + +## Support +If you encounter any issues or have questions, please create an issue in the repository. +