Browse Source

Add config option to turn server side rendering off.

Ensure templates are precompiled before starting the server.
merge-requests/27/head
knotteye 1 year ago
parent
commit
961b5fe648
  1. 6
      README.md
  2. 1
      install/config.example.yml
  3. 14
      src/cleanup.ts
  4. 5
      src/config.ts
  5. 2
      src/index.ts

6
README.md

@ -15,11 +15,13 @@ Follow the instructions after setup runs.
```bash
npm run start
```
You can also run this to skip checking the database version on startup.
You can also skip checking the database version and compiling templates (if you don't use server-side rendering) on startup.
```bash
npm run start -- --skip-migrate
npm run start -- --skip-migrate --skip-compile
# don't forget to migrate manually when you update
npm run migrate
# and compile templates after any changes
npm run make-templates
```
## Contributing

1
install/config.example.yml

@ -14,6 +14,7 @@ rtmp:
http:
# uncomment to set HSTS when SSL is ready
#hsts: true
server_side_render: false
database:
user: '<dbuser>'

14
src/cleanup.ts

@ -1,8 +1,9 @@
import * as db from "./database";
import {readdirSync} from "fs";
import { execSync } from "child_process";
async function init(m?: boolean) {
if(!m){
async function init() {
if(process.argv.indexOf('--skip-migrate') === -1){
console.log('Checking database version.');
var tmp: string[] = await db.query('show tables like \"db_meta\"');
if(tmp.length === 0){
@ -17,6 +18,15 @@ async function init(m?: boolean) {
else {
console.log('Skipping database version check.');
}
if(!require('./config').config['http']['server_side_render'] && process.argv.indexOf('--skip-compile') === -1) {
console.log("Compiling templates for client-side frontend.");
execSync(process.cwd()+'/node_modules/.bin/nunjucks-precompile -i [\"\\.html$\",\"\\.njk$\"] templates > site/templates.js');
}
else if(!require('./config').config['http']['server_side_render']){
console.log("Skipped compiling templates for client-side frontend.");
}
//If satyr is restarted in the middle of a stream
//it causes problems
//Live flags in the database stay live

5
src/config.ts

@ -36,7 +36,10 @@ const config: Object = {
ping: 30,
ping_timeout: 60 }, localconfig['rtmp']),
http: Object.assign({
hsts: false, directory: './site', port: 8000
hsts: false,
directory: './site',
port: 8000,
server_side_render: true
}, localconfig['http']),
media: Object.assign({
record: false,

2
src/index.ts

@ -7,7 +7,7 @@ import { config } from "./config";
async function run() {
await initDB();
await clean(process.argv.indexOf('--skip-migrate') !== -1);
await clean();
await initHTTP();
await initRTMP();
await initChat();

Loading…
Cancel
Save