
Features: - Build packs for popular frontend frameworks. It will help to understand which build packs should be chosen. Fixes: - Github queries optimized. - Save repositories to store (faster navigation). - Remove unnecessary data on dashboard requests. - Speed up static site builds with a lot. UI: - Redesign of the application deployment page. - Redesign of database deployments page.
66 lines
2.0 KiB
JavaScript
66 lines
2.0 KiB
JavaScript
const fs = require('fs').promises
|
|
module.exports = async function (configuration) {
|
|
const staticDeployments = ['react', 'vuejs', 'static', 'svelte', 'gatsby']
|
|
try {
|
|
// TODO: Write full .dockerignore for all deployments!!
|
|
if (configuration.build.pack === 'php') {
|
|
await fs.writeFile(`${configuration.general.workdir}/.htaccess`, `
|
|
RewriteEngine On
|
|
RewriteBase /
|
|
RewriteCond %{REQUEST_FILENAME} !-d
|
|
RewriteCond %{REQUEST_FILENAME} !-f
|
|
RewriteRule ^(.+)$ index.php [QSA,L]
|
|
`)
|
|
}
|
|
// await fs.writeFile(`${configuration.general.workdir}/.dockerignore`, 'node_modules')
|
|
if (staticDeployments.includes(configuration.build.pack)) {
|
|
await fs.writeFile(
|
|
`${configuration.general.workdir}/nginx.conf`,
|
|
`user nginx;
|
|
worker_processes auto;
|
|
|
|
error_log /var/log/nginx/error.log warn;
|
|
pid /var/run/nginx.pid;
|
|
|
|
events {
|
|
worker_connections 1024;
|
|
}
|
|
|
|
http {
|
|
include /etc/nginx/mime.types;
|
|
|
|
access_log off;
|
|
sendfile on;
|
|
#tcp_nopush on;
|
|
keepalive_timeout 65;
|
|
|
|
server {
|
|
listen 80;
|
|
server_name localhost;
|
|
|
|
location / {
|
|
root /usr/share/nginx/html;
|
|
index index.html;
|
|
try_files $uri $uri/index.html $uri/ /index.html =404;
|
|
}
|
|
|
|
error_page 404 /50x.html;
|
|
|
|
# redirect server error pages to the static page /50x.html
|
|
#
|
|
error_page 500 502 503 504 /50x.html;
|
|
location = /50x.html {
|
|
root /usr/share/nginx/html;
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
`
|
|
)
|
|
}
|
|
} catch (error) {
|
|
throw new Error(error)
|
|
}
|
|
}
|