mhkarimi1383 / simple-store

simply store files :)
GNU General Public License v3.0
2 stars 0 forks source link

simple-store

Simply Store your file Made to make your work easier as for saving files.

Features

Made out of

Usage

run project with --help option

All the flags can be set using Environment Variables (if you prefer) Here is the naming convention for them

All of them are starting with SS_ and the Option (replace - with _) and make it Uppercase

Also, prometheus exporter will start at the same address in /metrics address

and swagger will start at /swagger address (If configured)

Installation

From Source

Clone the project and get the requirements by running

go mod tidy

run the project by

go run . --help

or build it then run it

go build .
./simple-store --help

Bare Golang

After installing Golang run the command below

go install github.com/mhkarimi1383/simple-store@latest

Docker

Docker images are in three categories:

  1. Stable: Made when we create tags (also each tag will be usabe as docker tag) [Not Published yet.]
  2. Latest: Made out of last commit on master branch (you can also use commit hashes)
  3. PRs: We make image for each PR to make tests easier (pr-PR ID) [this section is not available yet.]

Docker Compose

Also Ready to use Docker Compose files are present here

docker-compose.local.yaml is used for local builds

docker-compose.stable.yaml is used for production

bring it up by running

docker compose up -d -f ./docker-compose.stable.yaml # or ./docker-compose.local.yaml

or if you are running an older version of docker compose (lower then 2)

docker-compose up -d -f ./docker-compose.stable.yaml # or ./docker-compose.local.yaml

Development

Swagger

After making changes in api run the command below to generate openapi spec

make sure swaggo is installed go install github.com/swaggo/swag/cmd/swag@latest

cd api
swag init -g api.go

Package Structure

LICENSE

This project is licensed under GPLv3