Simple file sharing system made with a clean architecture in mind
-
git clone https://github.com/SherApp/Sher
-
cd
Sher
-
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 -
DOCKER_HOST=ssh://name@server docker-compose -f docker-compose.yml -f docker-compose.production.yml up -d --build
-
Install nginx on your remote host
-
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/;
}
- Setup any of the available frontends (React Native mobile app, React web app)