https://github.com/iron-e/winvoice-gui
A front-end for winvoice-server, which helps manage of invoices.
https://github.com/iron-e/winvoice-gui
graphical-user-interface gui invoice invoice-generator react typescript winvoice
Last synced: 8 months ago
JSON representation
A front-end for winvoice-server, which helps manage of invoices.
- Host: GitHub
- URL: https://github.com/iron-e/winvoice-gui
- Owner: Iron-E
- License: gpl-3.0
- Created: 2023-07-20T17:20:00.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-05-06T21:30:26.000Z (almost 2 years ago)
- Last Synced: 2025-07-07T08:05:43.734Z (8 months ago)
- Topics: graphical-user-interface, gui, invoice, invoice-generator, react, typescript, winvoice
- Language: TypeScript
- Homepage:
- Size: 1.27 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.Docker.md
- License: LICENSE
Awesome Lists containing this project
README
# winvoice-gui
## `docker`
A [Dockerfile](./Dockerfile) is provided to run the application in an isolated environment. A database is not included in the image, but is required to start the server.
### Build
Run the following command:
```sh
docker build [--build-arg = ...] [--tag ] .
```
For example:
```sh
docker build --build-arg GID=100 --tag winvoice-gui:latest .
```
#### Arguments
| Name | Default | Description |
| :-- | :-- | :-- |
| `DEFAULT_SERVER_ADDR` | `""` | The default [`winvoice-server`] address to connect to |
| `GID` | `10001` | The ID of the created group. |
| `UID` | `${GID}` | The ID of the created user. |
### Usage
> [!WARN]
>
> `winvoice-gui` is built with Next.js, which uses HTTP. It is recommended to:
>
> 1. never use `docker run --publish` with `winvoice-gui` images, and
> 2. use a reverse proxy to enable HTTPS.
>
> The `docker compose` integration provides an example of such an HTTPS proxy.
>
> See also: https://github.com/vercel/next.js/discussions/10935
After building, run:
```sh
docker run --expose 3000 --rm
```
## `docker compose`
A [compose file](./compose.yaml) is provided to run the application. A `postgres` image is included in the configuration.
> [!NOTE]
>
> See also the docs for:
>
> * [`nginx-proxy`]
> * [`winvoice-server`]
> [!IMPORTANT]
>
> The compose file requires `COMPOSE_EXPERIMENTAL_GIT_REMOTE=1` in the environment. It is possible to remove this requirement by manually merging [`winvoice-server`]'s compose file.
### Build
Run the following command:
```sh
docker compose up
```
#### Secrets
| Name | Path | Description |
| :- | :- | :- |
| `proxy-ssl` | `config/proxy/ssl/` | See [here](https://github.com/nginx-proxy/nginx-proxy/tree/main/docs#ssl-support) |
| `proxy-ssl-cadir` | `config/proxy/ssl-cadir/` | Trust authorities to use within the container. Structured like `/etc/ssl/certs/` in `alpine`. |
[`winvoice-server`]: https://github.com/Iron-E/winvoice-server/blob/master/README.Docker.md
[`nginx-proxy`]: https://github.com/nginx-proxy/nginx-proxy/blob/main/docs/README.md