Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
9f64d2a907
|
|||
d473ddcaee
|
|||
d63473e822
|
|||
73c9a3dc67
|
|||
29257775c4
|
|||
773e608356
|
|||
1efa7d5216
|
|||
28731e1d60
|
|||
875c3304d1
|
|||
36fcd374d5
|
|||
d3059d3481
|
|||
c0fd8d6796
|
|||
a7fef89dda
|
|||
60e76f851e
|
|||
6e374e59f5
|
|||
fd1a88bd9f
|
@@ -25,9 +25,8 @@ jobs:
|
||||
- name: 🔑 🔐 Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: scr.siteworxpro.com
|
||||
username: ${{ secrets.SITEWORX_USERNAME }}
|
||||
password: ${{ secrets.SITEWORX_PASSWORD }}
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: 🏗️ 🔧 Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
@@ -41,4 +40,4 @@ jobs:
|
||||
platforms: linux/arm64,linux/amd64
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
tags: scr.siteworxpro.com/gun-manager:${{ gitea.ref_name }}
|
||||
tags: siteworxpro/gun-manager:${{ gitea.ref_name }}
|
@@ -1,5 +1,7 @@
|
||||
FROM node:22.14.0 AS frontend
|
||||
|
||||
ENV VITE_API=""
|
||||
|
||||
WORKDIR /frontend
|
||||
ADD frontend/ ./
|
||||
RUN npm install && npm run build
|
||||
@@ -21,6 +23,8 @@ WORKDIR /app
|
||||
COPY --from=frontend /frontend/dist /app/dist
|
||||
COPY --from=backend /backend/app /app/app
|
||||
|
||||
ADD backend/migrations /app/migrations
|
||||
|
||||
EXPOSE 8000
|
||||
|
||||
ENTRYPOINT ["/app/app"]
|
21
LICENSE.md
Normal file
21
LICENSE.md
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 Siteworx Professionals, LLC
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
47
README.md
47
README.md
@@ -1,6 +1,43 @@
|
||||
# Gun Manager
|
||||
|
||||

|
||||
|
||||
Gun Manager is a web application for managing a gun inventory, built with Go and Vue. It allows users to add, edit,
|
||||
and delete gun records, as well as view them in a user-friendly interface.
|
||||
|
||||
This application is designed to help gun enthusiasts and collectors keep track of their firearms, including details such
|
||||
as make, model, caliber, and photos of each gun.
|
||||
|
||||
Great for insurance purposes, personal inventory management, or simply for enthusiasts who want to keep a detailed
|
||||
record of their collection.
|
||||
|
||||
## Features
|
||||
|
||||
- Add, edit, and delete gun records
|
||||
- View gun records in a table
|
||||
- Search and filter gun records
|
||||
- Responsive design
|
||||
- Photo upload for each gun record
|
||||
|
||||
## Running the Application
|
||||
|
||||
To run the Gun Manager application, you need to have Docker installed on your machine. The application uses a SQLite
|
||||
database to store gun records.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Docker installed on your machine
|
||||
- A directory named `data` in the current working directory to store the SQLite database file
|
||||
|
||||
```shell
|
||||
docker run --rm \
|
||||
-v $(pwd)/data:/data \
|
||||
-p 8000:8000 \
|
||||
scr.siteworxpro.com/gun-manager:v1.0.0 -database /data/gun_inventory.sqlite
|
||||
```
|
||||
mkdir -p data && \
|
||||
curl -sSL https://gitea.siteworxpro.com/siteworxpro/gun-manager/raw/tag/v1.1.1/docker-compose.yml | docker compose -f - up -d
|
||||
```
|
||||
|
||||
## Accessing the Application
|
||||
|
||||
Once the application is running, you can access it in your web browser at [https://localhost](https://localhost).
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the MIT License. See the [LICENSE](LICENSE.md) file for details.
|
2
backend
2
backend
Submodule backend updated: 5ac3032a16...6e6bdc5709
36
docker-compose.yml
Normal file
36
docker-compose.yml
Normal file
@@ -0,0 +1,36 @@
|
||||
services:
|
||||
traefik:
|
||||
image: traefik:latest
|
||||
container_name: traefik
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
restart: always
|
||||
command:
|
||||
- "--providers.docker=true"
|
||||
- "--providers.docker.exposedByDefault=false"
|
||||
- "--entrypoints.web.address=:80"
|
||||
- "--entrypoints.web-secure.address=:443"
|
||||
- "--accesslog=true"
|
||||
- "--entrypoints.web.http.redirections.entryPoint.to=web-secure"
|
||||
- "--entrypoints.web.http.redirections.entryPoint.scheme=https"
|
||||
- "--entrypoints.web.http.redirections.entrypoint.permanent=true"
|
||||
|
||||
api:
|
||||
image: siteworxpro/gun-manager:v1.1.1
|
||||
container_name: gun-manager
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.api.entrypoints=web-secure"
|
||||
- "traefik.http.routers.api.rule=Host(`localhost`) || Host(`127.0.0.1`)"
|
||||
- "traefik.http.routers.api.tls=true"
|
||||
- "traefik.http.services.api.loadbalancer.server.port=8000"
|
||||
volumes:
|
||||
- ./data:/app/data
|
||||
command:
|
||||
- "-database"
|
||||
- "./data/gun_inventory.sqlite"
|
||||
environment:
|
||||
CORS_ORIGINS: "https://localhost"
|
2
frontend
2
frontend
Submodule frontend updated: c049df9a9f...156d77850a
Reference in New Issue
Block a user