Skip to content

Latest commit

 

History

History
40 lines (35 loc) · 2.55 KB

README.md

File metadata and controls

40 lines (35 loc) · 2.55 KB

ci workflow codecov time tracker

Sher

Simple file sharing system made with a clean architecture in mind

Available frontends

default Sher frontend sher-frontend

Sher mobile app screenshot

sher-mobile

How to run

Deploy to a remote server via SSH using docker-compose

  1. git clone https://github.com/SherApp/Sher

  2. cd Sher

  3. Set the following environment variables (* – optional)

    Variable Explanation
    JwtOptions__SecurityKey JWT security key (suggested 512 bits)
    JwtOptions__Audience The value of audience claim, can be public domain URL
    JwtOptions__Issuer Issuer of the token, can be API url
    PasswordHashingOptions__Iterations* https://www.twelve21.io/how-to-choose-the-right-parameters-for-argon2/
    PasswordHashingOptions__DegreeOfParallelism* https://www.twelve21.io/how-to-choose-the-right-parameters-for-argon2/
    PasswordHashingOptions__MemorySize* https://www.twelve21.io/how-to-choose-the-right-parameters-for-argon2/
    POSTGRES_USER The username of postgres user
    POSTGRES_PASSWORD The password of postgres user
    ConnectionStrings__Default Postgres connection string. For example, given POSTGRES_USER=sher and POSTGRES_PASSWORD=xsaJSlq8 the connection string would be Username=sher;Password=xsaJSlq8;Server=postgres;Database=sher
    Admin__EmailAddress Email address of the admin account
    Admin__Password Password of the admin account
  4. DOCKER_HOST=ssh://name@server docker-compose -f docker-compose.yml -f docker-compose.production.yml up -d --build

  5. Install nginx on your remote host

  6. Setup reverse proxy to forward API requests to the deployed docker container listening at :9090

location /api/ {
   proxy_pass http://127.0.0.1:9090/api/;
}
  1. Setup any of the available frontends (React Native mobile app, React web app)