You've already forked gun-manager
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
28731e1d60
|
|||
|
875c3304d1
|
|||
|
36fcd374d5
|
|||
|
d3059d3481
|
|||
|
c0fd8d6796
|
|||
|
a7fef89dda
|
|||
|
60e76f851e
|
|||
|
6e374e59f5
|
@@ -25,9 +25,8 @@ jobs:
|
|||||||
- name: 🔑 🔐 Login to Docker Hub
|
- name: 🔑 🔐 Login to Docker Hub
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
registry: scr.siteworxpro.com
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
username: ${{ secrets.SITEWORX_USERNAME }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
password: ${{ secrets.SITEWORX_PASSWORD }}
|
|
||||||
|
|
||||||
- name: 🏗️ 🔧 Set up Docker Buildx
|
- name: 🏗️ 🔧 Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
@@ -41,4 +40,4 @@ jobs:
|
|||||||
platforms: linux/arm64,linux/amd64
|
platforms: linux/arm64,linux/amd64
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile
|
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
|
FROM node:22.14.0 AS frontend
|
||||||
|
|
||||||
|
ENV VITE_API=""
|
||||||
|
|
||||||
WORKDIR /frontend
|
WORKDIR /frontend
|
||||||
ADD frontend/ ./
|
ADD frontend/ ./
|
||||||
RUN npm install && npm run build
|
RUN npm install && npm run build
|
||||||
|
|||||||
29
README.md
29
README.md
@@ -1,6 +1,27 @@
|
|||||||
|
# Gun Manager
|
||||||
|
|
||||||
|
Gun Manager is a web application for managing a gun inventory, built with Go and React. It allows users to add, edit,
|
||||||
|
and delete gun records, as well as view them in a user-friendly interface.
|
||||||
|
|
||||||
|
## 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
|
```shell
|
||||||
docker run --rm \
|
mkdir -p data && \
|
||||||
-v $(pwd)/data:/data \
|
curl -sSL https://gitea.siteworxpro.com/siteworxpro/gun-manager/raw/tag/v1.1.0/docker-compose.yml | docker compose -f - up -d
|
||||||
-p 8000:8000 \
|
|
||||||
scr.siteworxpro.com/gun-manager:v0.0.1 -database /data/gun_inventory.sqlite
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Accessing the Application
|
||||||
|
|
||||||
|
Once the application is running, you can access it in your web browser at `https://localhost`.
|
||||||
2
backend
2
backend
Submodule backend updated: 61a31a6977...42bd95d804
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.0
|
||||||
|
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