mirror of
https://gitlab.com/octospacc/Configs.git
synced 2025-06-05 21:59:36 +02:00
.
This commit is contained in:
parent
72b99a6cbd
commit
6c288f07f5
@ -56,6 +56,15 @@ const SimpleBackup = async (Folder, Prefix) => {
|
|||||||
await $`ln -s ./${Time.Stamp}.tar.xz ./${Folder}/Latest.tar.xz`;
|
await $`ln -s ./${Time.Stamp}.tar.xz ./${Folder}/Latest.tar.xz`;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const CompressAndUpdate = async (folder, name, extension) => {
|
||||||
|
await SimpleCompress(
|
||||||
|
`./${folder}/${name}.${Time.Stamp}.${extension}`,
|
||||||
|
`./${folder}/${name}.Latest.${extension}`,
|
||||||
|
);
|
||||||
|
await $`rm ./${folder}/${name}.Latest.${extension}.tar.xz || true`;
|
||||||
|
await $`ln -s ./${name}.${Time.Stamp}.${extension}.tar.xz ./${folder}/${name}.Latest.${extension}.tar.xz`;
|
||||||
|
};
|
||||||
|
|
||||||
const AltervistaFullBackup = async (domain) => {
|
const AltervistaFullBackup = async (domain) => {
|
||||||
const [user, pass, key] = Secrets[`${domain.replaceAll('.', '_')}_Backup_Tokens`].split(':');
|
const [user, pass, key] = Secrets[`${domain.replaceAll('.', '_')}_Backup_Tokens`].split(':');
|
||||||
cd(`./${domain}-Git`);
|
cd(`./${domain}-Git`);
|
||||||
@ -67,15 +76,16 @@ const AltervistaFullBackup = async (domain) => {
|
|||||||
const LampBackup = async (folder, table) => {
|
const LampBackup = async (folder, table) => {
|
||||||
await SimpleBackup(folder, 'www');
|
await SimpleBackup(folder, 'www');
|
||||||
await $`lxc-attach Debian2023 -- mariadb-dump ${table || folder} > ./${folder}/Db.Latest.sql`;
|
await $`lxc-attach Debian2023 -- mariadb-dump ${table || folder} > ./${folder}/Db.Latest.sql`;
|
||||||
await SimpleCompress(`./${folder}/Db.${Time.Stamp}.sql`, `./${folder}/Db.Latest.sql`);
|
await CompressAndUpdate(folder, 'Db', 'sql');
|
||||||
await $`rm ./${folder}/Db.Latest.sql.tar.xz || true`;
|
|
||||||
await $`ln -s "./Db.${Time.Stamp}.sql.tar.xz" ./${folder}/Db.Latest.sql.tar.xz`;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const FolderGoCopyForCloud = async (src, dst) => {
|
const FolderGoCopyForCloud = async (src, dst) => {
|
||||||
|
if (dst) {
|
||||||
cd(`./${dst}`);
|
cd(`./${dst}`);
|
||||||
|
}
|
||||||
await $`rm -rf ./${src} || true`;
|
await $`rm -rf ./${src} || true`;
|
||||||
await $`cp -rp ../${src}/Latest.d ./${src}`;
|
await $`cp -rp ../${src}/Latest.d ./${src}`;
|
||||||
|
await $`rm -rf ./${src}/.git || true`;
|
||||||
};
|
};
|
||||||
|
|
||||||
const Work = async (job) => await within(Jobs[job]);
|
const Work = async (job) => await within(Jobs[job]);
|
||||||
@ -97,26 +107,21 @@ Jobs.Local_Shiori = async()=>{
|
|||||||
await $`rm -v ./shiori-data/Latest.d/archive/* || true`;
|
await $`rm -v ./shiori-data/Latest.d/archive/* || true`;
|
||||||
};
|
};
|
||||||
|
|
||||||
Jobs.Local_SpaccBBS = async()=>{
|
Jobs.Local_SpaccBBS = () => LampBackup('SpaccBBS', 'phpBB');
|
||||||
// ... await LampBackup('SpaccBBS', 'phpBB');
|
|
||||||
await SimpleBackup('SpaccBBS', 'www');
|
Jobs.Local_SpaccBBSNodeBB = async () => {
|
||||||
await $`lxc-attach Debian2023 -- mariadb-dump phpBB > ./SpaccBBS/Db.Latest.sql`;
|
await SimpleBackup('SpaccBBS-NodeBB');
|
||||||
await SimpleCompress(`./SpaccBBS/Db.${Time.Stamp}.sql`, './SpaccBBS/Db.Latest.sql');
|
await $`lxc-attach Debian2023 -- redis-cli -n 2 --rdb - > ./SpaccBBS-NodeBB/Db.Latest.rdb`;
|
||||||
await $`rm ./SpaccBBS/Db.Latest.sql.tar.xz || true`;
|
await CompressAndUpdate('SpaccBBS-NodeBB', 'Db', 'rdb');
|
||||||
await $`ln -s "./Db.${Time.Stamp}.sql.tar.xz" ./SpaccBBS/Db.Latest.sql.tar.xz`;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
Jobs.Local_liminalgici = async()=>{
|
Jobs.Local_liminalgici = () => LampBackup('pixelfed_liminalgici');
|
||||||
await LampBackup('pixelfed_liminalgici');
|
|
||||||
};
|
|
||||||
|
|
||||||
Jobs.Local_Doku = async()=>{
|
Jobs.Local_Doku = () => SimpleBackup('dokuwiki', 'www');
|
||||||
await SimpleBackup('dokuwiki', 'www');
|
|
||||||
};
|
|
||||||
|
|
||||||
Jobs.Cloud_Doku = async () => {
|
Jobs.Cloud_Doku = async () => {
|
||||||
await FolderGoCopyForCloud('dokuwiki', 'doku.spacc.eu.org-Git');
|
await FolderGoCopyForCloud('dokuwiki', 'doku.spacc.eu.org-Git');
|
||||||
await $`rm -rf ./dokuwiki/data/.git ./dokuwiki/data/cache || true`;
|
await $`rm -rf ./dokuwiki/data/cache || true`;
|
||||||
await GitPullPush();
|
await GitPullPush();
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -161,16 +166,12 @@ Jobs.Cloud_ServerBackupLimited = async()=>{
|
|||||||
};
|
};
|
||||||
|
|
||||||
Jobs.Cloud_ArticlesBackupPrivate = async () => {
|
Jobs.Cloud_ArticlesBackupPrivate = async () => {
|
||||||
cd('./Articles-Backup-Private');
|
await FolderGoCopyForCloud('shiori-data', 'Articles-Backup-Private');
|
||||||
await $`rm -rf ./shiori-data || true`;
|
|
||||||
await $`cp -rp ../shiori-data/Latest.d ./shiori-data`;
|
|
||||||
await GitPullPush();
|
await GitPullPush();
|
||||||
};
|
};
|
||||||
|
|
||||||
Jobs.Cloud_SpaccBBS = async () => {
|
Jobs.Cloud_SpaccBBS = async () => {
|
||||||
cd('./SpaccBBS-Backup-phpBB-2023');
|
await FolderGoCopyForCloud('SpaccBBS', 'SpaccBBS-Backup-phpBB-2023');
|
||||||
await $`rm -rf ./SpaccBBS || true`;
|
|
||||||
await $`cp -rp ../SpaccBBS/Latest.d ./SpaccBBS`;
|
|
||||||
await $`cp ../SpaccBBS/Db.Latest.sql.tar.xz ./Db.sql.tar.xz`;
|
await $`cp ../SpaccBBS/Db.Latest.sql.tar.xz ./Db.sql.tar.xz`;
|
||||||
for (let File of ['Db.sql.tar.xz', 'SpaccBBS/config.php', 'SpaccBBS/arrowchat/includes/config.php']) {
|
for (let File of ['Db.sql.tar.xz', 'SpaccBBS/config.php', 'SpaccBBS/arrowchat/includes/config.php']) {
|
||||||
await ccencryptNow(`./${File}`, Secrets.BackupKey_Git_SpaccBBS);
|
await ccencryptNow(`./${File}`, Secrets.BackupKey_Git_SpaccBBS);
|
||||||
@ -178,10 +179,15 @@ Jobs.Cloud_SpaccBBS = async()=>{
|
|||||||
await GitPullPush();
|
await GitPullPush();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Jobs.Cloud_SpaccBBSNodeBB = async () => {
|
||||||
|
await FolderGoCopyForCloud('SpaccBBS-NodeBB', 'SpaccBBS-NodeBB-2024-Git');
|
||||||
|
await $`cp ../SpaccBBS-NodeBB/Db.Latest.rdb.tar.xz ./Db.rdb.tar.xz`;
|
||||||
|
await ccencryptNow('./Db.rdb.tar.xz', Secrets.BackupKey_Git_SpaccBBSNodeBB);
|
||||||
|
await GitPullPush();
|
||||||
|
};
|
||||||
|
|
||||||
Jobs.Cloud_liminalgici = async () => {
|
Jobs.Cloud_liminalgici = async () => {
|
||||||
cd('./liminalgici.spacc.eu.org-Git');
|
await FolderGoCopyForCloud('pixelfed_liminalgici', 'liminalgici.spacc.eu.org-Git');
|
||||||
await $`rm -rf ./pixelfed_liminalgici || true`;
|
|
||||||
await $`cp -rp ../pixelfed_liminalgici/Latest.d ./pixelfed_liminalgici`;
|
|
||||||
await $`cp ../pixelfed_liminalgici/Db.Latest.sql.tar.xz ./Db.sql.tar.xz`;
|
await $`cp ../pixelfed_liminalgici/Db.Latest.sql.tar.xz ./Db.sql.tar.xz`;
|
||||||
await SimpleCompress('./pixelfed_liminalgici/config');
|
await SimpleCompress('./pixelfed_liminalgici/config');
|
||||||
await $`rm -rf ./pixelfed_liminalgici/config || true`;
|
await $`rm -rf ./pixelfed_liminalgici/config || true`;
|
||||||
@ -206,7 +212,7 @@ Jobs.Cloud_SpaccCraft = async()=>{
|
|||||||
await GitPullPush();
|
await GitPullPush();
|
||||||
};
|
};
|
||||||
|
|
||||||
Jobs.Cloud_Private = async()=> await $`sudo -u tux rclone sync /Main/Clouds/octt GDrive-Uni-Crypt:/Clouds.octt --progress`;
|
Jobs.Cloud_Private = () => $`sudo -u tux rclone sync /Main/Clouds/octt GDrive-Uni-Crypt:/Clouds.octt --progress`;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
@ -215,7 +221,7 @@ $`echo Begin ${Time.Stamp} > ${BackupsBase}/Last.log`;
|
|||||||
await Work('Local_MiscSimpleBackups');
|
await Work('Local_MiscSimpleBackups');
|
||||||
await Work('Local_Shiori');
|
await Work('Local_Shiori');
|
||||||
await Work('Local_SpaccBBS');
|
await Work('Local_SpaccBBS');
|
||||||
//await Work('Local_SpaccBBS_NodeBB');
|
await Work('Local_SpaccBBSNodeBB');
|
||||||
await Work('Local_liminalgici');
|
await Work('Local_liminalgici');
|
||||||
await Work('Local_Doku');
|
await Work('Local_Doku');
|
||||||
|
|
||||||
@ -227,6 +233,7 @@ await Work('Mixed_OctospaccAltervista');
|
|||||||
await Work('Cloud_ServerBackupLimited');
|
await Work('Cloud_ServerBackupLimited');
|
||||||
await Work('Cloud_ArticlesBackupPrivate');
|
await Work('Cloud_ArticlesBackupPrivate');
|
||||||
await Work('Cloud_SpaccBBS');
|
await Work('Cloud_SpaccBBS');
|
||||||
|
await Work('Cloud_SpaccBBSNodeBB');
|
||||||
await Work('Cloud_liminalgici');
|
await Work('Cloud_liminalgici');
|
||||||
await Work('Cloud_Doku');
|
await Work('Cloud_Doku');
|
||||||
await Work('Cloud_SpaccCraft');
|
await Work('Cloud_SpaccCraft');
|
||||||
|
1
Server/Root/Main/Server/Scripts/CleanBackups.zx.mjs
Normal file
1
Server/Root/Main/Server/Scripts/CleanBackups.zx.mjs
Normal file
@ -0,0 +1 @@
|
|||||||
|
#!/usr/bin/env zx
|
@ -71,6 +71,7 @@ server {
|
|||||||
location /new { #~ ^/(new$|new/) {
|
location /new { #~ ^/(new$|new/) {
|
||||||
proxy_http_version 1.1;
|
proxy_http_version 1.1;
|
||||||
proxy_pass http://localhost:4567;
|
proxy_pass http://localhost:4567;
|
||||||
|
proxy_set_header Host bbs.spacc.eu.org;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
@ -87,6 +88,7 @@ server {
|
|||||||
location /.well-known/webfinger {
|
location /.well-known/webfinger {
|
||||||
proxy_http_version 1.1;
|
proxy_http_version 1.1;
|
||||||
proxy_pass http://localhost:4567/new/.well-known/webfinger;
|
proxy_pass http://localhost:4567/new/.well-known/webfinger;
|
||||||
|
proxy_set_header Host bbs.spacc.eu.org;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
28
Server/Root/etc/nginx/sites-available/SpaccBBSnew.conf
Normal file
28
Server/Root/etc/nginx/sites-available/SpaccBBSnew.conf
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen 443 ssl;
|
||||||
|
server_name bbs.spacc.eu.org bbs.spaccsoj3trhzowrrblzb5m6hgkwu6syghnmhett7gvxbrz5zhsrs4ad.onion;
|
||||||
|
ssl_certificate /etc/letsencrypt/live/bbs.spacc.eu.org/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/bbs.spacc.eu.org/privkey.pem;
|
||||||
|
ssl_prefer_server_ciphers on;
|
||||||
|
error_log /var/log/nginx/SpaccBBS.error.log;
|
||||||
|
access_log /var/log/nginx/SpaccBBS.access.log;
|
||||||
|
location / {
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_pass http://localhost:4567;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
}
|
||||||
|
location /.well-known/webfinger {
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_pass http://localhost:4567/new/.well-known/webfinger;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
}
|
||||||
|
}
|
@ -20,6 +20,8 @@ server {
|
|||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
proxy_set_header Connection "upgrade";
|
proxy_set_header Connection "upgrade";
|
||||||
|
sub_filter '</head>' '<link rel="alternate" type="application/rss+xml" href="/nojs?rss=1"/></head>';
|
||||||
|
sub_filter_once on;
|
||||||
}
|
}
|
||||||
location /nojs {
|
location /nojs {
|
||||||
proxy_pass http://127.0.0.1/MemosViewer.php;
|
proxy_pass http://127.0.0.1/MemosViewer.php;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user