add documentation for installing

This commit is contained in:
renzynx 2022-12-18 09:30:43 +07:00
parent e0cd283053
commit cf3ad2a1dc
4 changed files with 111 additions and 0 deletions

64
README.md Normal file
View File

@ -0,0 +1,64 @@
# Installing
## Requirements
- `node` version 16.16.0 or higher
- `pm2` globally installed
- `yarn` globally installed
- `caddy` globally installed
### Backend Installation
Copy and paste the following into your terminal:
```bash
git clone https://github.com/renzynx/bliss.git
cd bliss/api
cp .env.example .env
```
Fill in the `.env` file with the appropriate values.
```bash
yarn install
yarn build
pm2 start "yarn start:prod" --name "bliss-api"
```
### Frontend Installation
Copy and paste the following into your terminal:
```bash
cd ../web
cp .env.example .env
```
Fill in the `.env` file with the appropriate values.
```bash
yarn install
yarn build
pm2 start "yarn start" --name "bliss-web"
```
### Domain name and SSL configuration
If you don't have caddy installed already
[Click Here](https://caddyserver.com/docs/install)
Copy and paste the following into your terminal:
You need to replace the placeholder with your actual domain name and port.
```bash
sudo caddy reverse-proxy --from https://yourdomain.com --to localhost:frontend-port
sudo caddy reverse-proxy --from https://api.yourdomain.com --to localhost:backend-port
```

6
TODO.md Normal file
View File

@ -0,0 +1,6 @@
[] - Switch verification from postgres to redis database.
[] - Add S3 intergration.
[] - Add file adminstration settings.
[] - Add support for multiple domains.
[] - Add user creation for admins
[] - Add user administration settings (create, ban, ...etc).

28
api/.env.example Normal file
View File

@ -0,0 +1,28 @@
# database connection string for prisma
DATABASE_URL="postgresql://postgresuser:postgrespw@postgreshost:port/db?schema=public"
REDIS_URL="redis://host:port"
# should be your frontend domain
# e.g. https://amog-us.club
CORS_ORIGIN=""
# just smash random keys on your keyboard or use a password generator
SESSION_SECRET=""
# set to "true" if you want to use email verification
USE_MAIL=""
MAIL_HOST=""
MAIL_PORT=""
MAIL_USERNAME=""
MAIL_PASSWORD=""
# e.g. ServiceName <noreply@domain.com>
MAIL_FROM=""
# should be local or s3, s3 doesn't work yet
UPLOADER="local"
# port for the server to listen on
PORT=
# set to "true" if you are going to use a reverse proxy
USE_PROXY=""
# set to "true" if you are going to use SSL
USE_SSL=""

13
web/.env.example Normal file
View File

@ -0,0 +1,13 @@
# should be your backend domain name
# e.g. https://api.amog-us.club
NEXT_PUBLIC_API_URL=""
# optional values
# if you want to use the default values, just leave them empty
# this is the limit of file size a user can upload when they are verified
# the default value is 2GB
NEXT_PUBLIC_USER_VERIFED_LIMIT=""
# the opposite
# the default value is 500MB
NEXT_PUBLIC_USER_NOT_VERIFED_LIMIT=""