After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 942 B |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 67 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 48 KiB |
@ -0,0 +1,26 @@
|
||||
(async() => {
|
||||
const siteDomain = "blog.cybershell.xyz";
|
||||
const sharp = require('sharp');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
// const iconDir = path.join(__dirname, siteDomain);
|
||||
const siteImagesDir = path.join(__dirname, 'client', 'img');
|
||||
const siteIconDir = path.join(siteImagesDir, 'icon', siteDomain)
|
||||
const sourceIconFile = 'thumbnail.png';
|
||||
const sourceIconFilePath = path.join(__dirname, sourceIconFile);
|
||||
const sizes = [16, 32, 36, 48, 57, 60, 70, 72, 76, 96, 114, 120, 144, 150, 152, 180, 192, 256, 310, 384, 512];
|
||||
|
||||
await fs.promises.mkdir(siteIconDir, { force: true, recursive: true });
|
||||
for (var size of sizes) {
|
||||
await sharp(sourceIconFilePath).resize({
|
||||
fit: sharp.fit.contain,
|
||||
width: size,
|
||||
height: size
|
||||
}).png()
|
||||
.toFile(path.join(siteIconDir, `icon-${size}x${size}.png`));
|
||||
}
|
||||
|
||||
// await fs.promises.cp(sourceIconFilePath, path.join(siteIconDir, `${siteDomain}.png`));
|
||||
await fs.promises.cp(sourceIconFilePath, path.join(siteImagesDir, 'social-cards', `${siteDomain}.png`));
|
||||
// await fs.promises.cp(iconDir, path.join(siteImagesDir, 'icon' ), { recursive: true });
|
||||
})()
|
@ -0,0 +1,16 @@
|
||||
[group:sites-chat]
|
||||
programs=dtp-sites-chat
|
||||
|
||||
[program:dtp-sites-chat]
|
||||
numprocs=1
|
||||
process_name=%(program_name)s_%(process_num)02d
|
||||
command=/home/dtp/.nvm/versions/node/v18.12.0/bin/node --optimize_for_size --max_old_space_size=1024 --gc_interval=100 app/workers/chat.js
|
||||
directory=/home/dtp/live/dtp-sites
|
||||
autostart=true
|
||||
autorestart=true
|
||||
startretries=3
|
||||
stopsignal=INT
|
||||
stderr_logfile=/var/log/dtp-sites/host-services.err.log
|
||||
stdout_logfile=/var/log/dtp-sites/host-services.out.log
|
||||
user=dtp
|
||||
environment=HOME='/home/dtp/live/dtp-sites',HTTP_BIND_PORT=30%(process_num)02d,NODE_ENV=production,LOGNAME=host-services
|
@ -0,0 +1,8 @@
|
||||
|
||||
|
||||
[group:sites-media]
|
||||
program=dtp-sites-media
|
||||
[group:sites-chat]
|
||||
program=dtp-sites-chat
|
||||
[group:sites]
|
||||
program=dtp-sites
|
@ -0,0 +1,17 @@
|
||||
|
||||
[group:sites-media]
|
||||
programs=dtp-sites-media
|
||||
|
||||
[program:dtp-sites-media]
|
||||
numprocs=1
|
||||
process_name=%(program_name)s_%(process_num)02d
|
||||
command=/home/dtp/.nvm/versions/node/v18.12.0/bin/node --optimize_for_size --max_old_space_size=1024 --gc_interval=100 app/workers/media.js
|
||||
directory=/home/dtp/live/dtp-sites
|
||||
autostart=true
|
||||
autorestart=true
|
||||
startretries=3
|
||||
stopsignal=INT
|
||||
stderr_logfile=/var/log/dtp-sites/host-services.err.log
|
||||
stdout_logfile=/var/log/dtp-sites/host-services.out.log
|
||||
user=dtp
|
||||
environment=HOME='/home/dtp/live/dtp-sites',HTTP_BIND_PORT=30%(process_num)02d,NODE_ENV=production,LOGNAME=host-services
|
@ -0,0 +1,16 @@
|
||||
[group:sites-newsroom]
|
||||
programs=dtp-sites-newsroom
|
||||
|
||||
[program:dtp-sites-newsroom]
|
||||
numprocs=1
|
||||
process_name=%(program_name)s_%(process_num)02d
|
||||
command=/home/dtp/.nvm/versions/node/v18.12.0/bin/node --optimize_for_size --max_old_space_size=1024 --gc_interval=100 app/workers/newsroom.js
|
||||
directory=/home/dtp/live/dtp-sites
|
||||
autostart=true
|
||||
autorestart=true
|
||||
startretries=3
|
||||
stopsignal=INT
|
||||
stderr_logfile=/var/log/dtp-sites/newsroom.err.log
|
||||
stdout_logfile=/var/log/dtp-sites/newsroom.out.log
|
||||
user=dtp
|
||||
environment=HOME='/home/dtp/live/dtp-sites',HTTP_BIND_PORT=30%(process_num)02d,NODE_ENV=production,LOGNAME=newsroom
|
@ -0,0 +1,16 @@
|
||||
[group:sites-reeeper]
|
||||
programs=reeeper
|
||||
|
||||
[program:reeeper]
|
||||
numprocs=1
|
||||
process_name=%(program_name)s_%(process_num)02d
|
||||
command=/home/dtp/.nvm/versions/node/v18.12.0/bin/node --optimize_for_size --max_old_space_size=1024 --gc_interval=100 app/workers/reeeper.js
|
||||
directory=/home/dtp/live/dtp-sites
|
||||
autostart=true
|
||||
autorestart=true
|
||||
startretries=3
|
||||
stopsignal=INT
|
||||
stderr_logfile=/var/log/dtp-sites/host-services.err.log
|
||||
stdout_logfile=/var/log/dtp-sites/host-services.out.log
|
||||
user=dtp
|
||||
environment=HOME='/home/dtp/live/dtp-sites',HTTP_BIND_PORT=30%(process_num)02d,NODE_ENV=production,LOGNAME=host-services
|
After Width: | Height: | Size: 48 KiB |
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
git fetch origin master
|
||||
git merge -s ours origin/master
|