Skip to content

Commit

Permalink
Rewrote build process
Browse files Browse the repository at this point in the history
  • Loading branch information
kisuka committed Jan 11, 2019
1 parent bc9e55d commit 2d274f6
Show file tree
Hide file tree
Showing 23 changed files with 9,092 additions and 4,075 deletions.
4 changes: 2 additions & 2 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
.idea
.DS_Store
.data
.env
node_modules
npm-debug.log
docker-compose.yml
config.js
docker-compose.yml
9 changes: 9 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
APP_TITLE=Yiff Spot | Yiff With Random Furries!
HOST=http://localhost:8000
DEBUG=false
HTTP_PORT=8000
HTTPS_PORT=8443
SSL_ENABLED=false
SSL_KEY_PATH=
SSL_CRT_PATH=
GA_ID=
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/node_modules
/public
/dist
npm_debug*
config.js
.env
docker-compose.*.yml
4 changes: 1 addition & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@ RUN npm install

Copy . .

Copy config.example.js ./config.js

RUN npm run build

EXPOSE 3000

CMD [ "npm", "run", "start" ]
CMD [ "npm", "run", "server" ]
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ npm install
### Production

```bash
npm run launch
npm run start
```

### Development
Expand Down
53 changes: 25 additions & 28 deletions app.js
Original file line number Diff line number Diff line change
@@ -1,39 +1,38 @@
'use strict';

const express = require('express'),
http = require('http'),
https = require('https'),
ws = require('ws'),
fs = require('graceful-fs'),
config = require('./config'),
routes = require('./routes'),
init = require('./src/server/init.js');
require('dotenv').config();

var credentials = undefined,
sslServer = undefined,
wss = undefined;
let express = require('express');
let http = require('http');
let https = require('https');
let ws = require('ws');
let fs = require('graceful-fs');
let init = require('./src/server/init.js');
let path = require('path');

if (config.ssl_enabled == true) {
let credentials = undefined;
let sslServer = undefined;
let wss = undefined;

if (process.env.SSL_ENABLED == true) {
credentials = {
key: fs.readFileSync(config.ssl_key),
cert: fs.readFileSync(config.ssl_crt),
key: fs.readFileSync(process.env.SSL_KEY_PATH),
cert: fs.readFileSync(process.env.SSL_CRT_PATH),
};
}

// Initalize Express
const app = express();
let app = express();

// Express View Engine
app.enable('trust proxy');
app.set('view engine', 'pug');
app.set('views', __dirname + '/src/views');

// Express Routing
app.use(express.static(__dirname + '/public'));
app.use('/assets', express.static(__dirname + '/public/assets'));
app.use(express.static(path.join(__dirname, '/dist')));
app.use('/assets', express.static(path.join(__dirname, '/dist/assets')));

// HTTPS redirection if ssl is enabled
if (config.ssl_enabled == true) {
if (process.env.SSL_ENABLED == true) {
app.use(function requireHTTPS(req, res, next) {
if (!req.secure) {
return res.redirect('https://' + req.headers.host + req.url);
Expand All @@ -42,18 +41,16 @@ if (config.ssl_enabled == true) {
});
}

app.use(routes);

// Create HTTP + Web Socket server
const server = http.createServer(app);
let server = http.createServer(app);

// Create HTTPS server if enabled
if (config.ssl_enabled == true) {
if (process.env.SSL_ENABLED == true) {
sslServer = https.createServer(credentials, app);
}

// Create Web Socket server
if (config.ssl_enabled == true) {
if (process.env.SSL_ENABLED == true) {
wss = new ws.Server({server: sslServer});
} else {
wss = new ws.Server({server: server});
Expand All @@ -63,12 +60,12 @@ if (config.ssl_enabled == true) {
init(wss);

// Listen on specified port / App Start
server.listen(config.http_port, function listening() {
server.listen(process.env.HTTP_PORT, function listening() {
console.log('Listening on port %d', server.address().port);
});

if (config.ssl_enabled == true) {
sslServer.listen(config.https_port, function listening() {
if (process.env.SSL_ENABLED == true) {
sslServer.listen(process.env.HTTPS_PORT, function listening() {
console.log('Listening on port %d', sslServer.address().port);
});
}
Expand Down
14 changes: 0 additions & 14 deletions config.example.js

This file was deleted.

7 changes: 7 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: '3.7'

services:
server:
build: ./
image: kisuka/yiffspot:latest
restart: always
Loading

0 comments on commit 2d274f6

Please sign in to comment.