yavsc/INSTALL.md
Paul Schneider 07d219e487 docs: add npm install + build:js to install procedure
The esbuild bundles under wwwroot/js and wwwroot/css are now
produced by 'npm run build:js'. Document this in INSTALL.md so
new contributors know to run 'npm install' before 'make install'.
2026-06-14 14:11:59 +01:00

65 lines
2 KiB
Markdown

# Install
With internet access, Git, dotnet, Node.js, and GNU/Makefile, simply follow these instructions, in order to have the server part installed:
```bash
git clone https://github.com/pschneider/yavsc.git
cd yavsc
dotnet restore
npm install # restore front-end dependencies
npm run build:js # build the JS/CSS bundles into wwwroot
cd contrib
make install
```
The front-end bundles (under `src/Yavsc.Org/wwwroot/js/*.bundle.min.js`
and `src/Yavsc.Org/wwwroot/css/*.min.css`) are produced by `npm run
build:js` and committed to the repo, so the runtime .NET stack does
not need a Node toolchain at publish time. Re-run `npm run build:js`
after editing any of the entry files under `src/Yavsc.Org/wwwroot/js/`
or any of the `build/*.entry.js` bundle manifests.
About the mobile app,
```bash
cd src/PostIt/PostIt.Android
dotnet publish -c Release
```
and then, install the app, from the `src/PostIt/PostIt.Android/bin/Release/net10.0/PostIt.apk`
## Resources
System resources needed to install.
### Some TCP/IP ports to listen
The following provided services need all a port to listen :
* Org
* Blogs
* Api (to become obsolete, in favor of Performer + Client + Com + Moderation )
### A Software bloc name
In this doc, let's say, `Yavsc`
### A domain name
Wait ... `pschneider.fr`
You'll have to see with your provider, in order to power it, and make it point to your host ip, at least concerning the ports 80 & 443.
### A Postgresql db
The database must be created, and we need its connection string, allowed to modify the data dictionary, see the `.env` file
### An Smtp mail service
You'll need to send e-mail ... using smtp and the provider of your choice, see the `.env` file.
### Google
I'll have to make with it, a least a moment, it needs a *service account*, and some setup,
in the `appsettings.*.json` file, and
the execution environment variable GOOGLE_APPLICATION_CREDENTIALS to a value pointing the json description file for the Google Service account.