You've already forked gun-manager
Compare commits
16 Commits
02653c3863
...
v1.1.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
28731e1d60
|
|||
|
875c3304d1
|
|||
|
36fcd374d5
|
|||
|
d3059d3481
|
|||
|
c0fd8d6796
|
|||
|
a7fef89dda
|
|||
|
60e76f851e
|
|||
|
6e374e59f5
|
|||
|
fd1a88bd9f
|
|||
|
f0f8a399d7
|
|||
|
a01a16f1f1
|
|||
|
fac9dc0b92
|
|||
|
72325591b7
|
|||
|
fe8c090942
|
|||
|
3dd63e2af1
|
|||
|
ca4335ae70
|
43
.gitea/workflows/build.yml
Normal file
43
.gitea/workflows/build.yml
Normal file
@@ -0,0 +1,43 @@
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
tag:
|
||||
description: 'Tag to build and push'
|
||||
required: false
|
||||
default: 'latest'
|
||||
push:
|
||||
tags:
|
||||
- "v*"
|
||||
|
||||
name: 🏗️✨ Build Workflow
|
||||
|
||||
jobs:
|
||||
Build:
|
||||
name: 🖥️ 🔨 Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 📖 🔍 Checkout Repository Code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
submodules: 'true'
|
||||
|
||||
- name: 🔑 🔐 Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: 🏗️ 🔧 Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: 🐳 🔨 Build Container
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
sbom: true
|
||||
provenance: true
|
||||
platforms: linux/arm64,linux/amd64
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
tags: siteworxpro/gun-manager:${{ gitea.ref_name }}
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
.idea/
|
||||
data/
|
||||
4
.gitmodules
vendored
4
.gitmodules
vendored
@@ -1,6 +1,6 @@
|
||||
[submodule "backend"]
|
||||
path = backend
|
||||
url = https://gitea.siteworxpro.com/siteworxpro/gun-manager-backend.git
|
||||
url = git@gitea.siteworxpro.com:siteworxpro/gun-manager-backend.git
|
||||
[submodule "frontend"]
|
||||
path = frontend
|
||||
url = https://gitea.siteworxpro.com/siteworxpro/gun-manager-frontend.git
|
||||
url = git@gitea.siteworxpro.com:siteworxpro/gun-manager-frontend.git
|
||||
|
||||
@@ -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"]
|
||||
27
README.md
Normal file
27
README.md
Normal file
@@ -0,0 +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
|
||||
mkdir -p data && \
|
||||
curl -sSL https://gitea.siteworxpro.com/siteworxpro/gun-manager/raw/tag/v1.1.0/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`.
|
||||
2
backend
2
backend
Submodule backend updated: 5ac3032a16...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