Skip to content

NicolasLemince/shareit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShareIt!

⚠️ This is an overly simplistic file sharing app written in go meant for skill testing purpose. Definitely NOT meant for production!!!

Requirements

  • go compiler (1.22.5+)
  • optional: Taskfile
  • optional: ko
  • optional: docker

Quick start

# Server is available on port 8080
go run ./cmd

Supported env-vars

  • BLOB_STORAGE_URL: Blob storage URL. It is used to persist all files shared on the app. We support s3://, file:// and mem:// (not for production use). More details on those URL schemes here. More specifically for S3 compatible storage.

  • PUBLIC_URL: The URL on which the service is available publicly (that is, to end-users). It is useful in case the app is exposed thru a reverse proxy. If not set, the app will try to guess the public URL based on common headers. (example value: https://shareit.example.com)

About building docker image

  • Can be built from the provided Dockerfile
  • Can be built with ko

About the /healthz endpoint

An health check endpoint is available at /healthz. It is advised to use it as it checks the availability of the underlying storage. A status code of 200 OK means everything is fine.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 97.4%
  • Dockerfile 2.6%