This commit is contained in:
2024-11-16 12:58:37 +00:00
parent ced4c776e9
commit df7b00b4f7
11 changed files with 288 additions and 12 deletions

3
.gitignore vendored
View File

@@ -1,3 +1,4 @@
.data .data
tmp tmp
db-data db-data
services/mailserver/data

View File

@@ -0,0 +1,7 @@
server {
server_name blog.maksim-pankov.ru;
listen 80;
location / {
root /opt/blog_content/;
}
}

3
services/ingress/dash.all.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -8,6 +8,14 @@ server {
ssl_certificate /etc/ssl/null.crt; ssl_certificate /etc/ssl/null.crt;
ssl_certificate_key /etc/ssl/null.key; ssl_certificate_key /etc/ssl/null.key;
server_name ""; # server_name "";
return 444; # return 444;
} }
server {
listen 8888 default_server;
location / {
root /var/www/out-dash;
}
}

View File

@@ -1,21 +1,21 @@
server { server {
listen 443 ssl; # managed by Certbot listen 443 ssl; # managed by Certbot
server_name skazochnik.spb.ru gipat; server_name maksim-pankov.ru skazochnik.spb.ru gipat;
location / { location / {
proxy_pass http://gipat:5002/; proxy_pass http://gipat:5002/;
sub_filter "http://gipat:5002/" "https://skazochnik.spb.ru/"; sub_filter "http://gipat:5002/" "https://skazochnik.spb.ru/";
client_max_body_size 0; client_max_body_size 0;
} }
ssl_certificate /etc/letsencrypt/live/maksim-pankov.ru/fullchain.pem; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/skazochnik.spb.ru/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/maksim-pankov.ru/privkey.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/skazochnik.spb.ru/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
} }
server { server {
listen 8989 ssl default_server; # managed by Certbot listen 8989 ssl default_server; # managed by Certbot
server_name skazochnik.spb.ru gipat; server_name maksim-pankov.ru skazochnik.spb.ru gipat;
location / { location / {
root /var/www/website_frontend; root /var/www/website_frontend;
index index.html index.htm; index index.html index.htm;

View File

@@ -0,0 +1,19 @@
services:
postfix:
image: marvambass/versatile-postfix
command: maksim-pankov.ru no-reply:6zgjTJKeYW4KnRK2EW6y mail:zpKxYItaW58F7vFkz268
ports:
- 25:25
environment:
POSTFIX_RAW_CONFIG_SMTPD_USE_TLS: "no"
# POSTFIX_RAW_CONFIG_MAIL_SPOOL_DIRECTORY: /var/spool/postfix/
volumes:
- ./data/postfix/spool:/var/spool/mail
- ./data/postfix/log:/var/log
- ./data/postfix/dkim:/etc/postfix/dkim
# dovecot:
# image: dovecot/dovecot
# volumes:
# - ./data/dovecot/conf.d:/etc/dovecot/conf.d

View File

@@ -0,0 +1,234 @@
{
"Server": {
"sessionSecret": [
"a6e898a592e997db5859698c658a01deca1eb54e3039856f1b476e748a95152fc820727576e502fb05b0dc81617322582ec13d4563d4b5ad4e61053db992a01d7dfac7755582a8efbc4bb3b36ff8813dd5ffc5eb604f0e48e5d2ff784a4bb3ad4ee32f6a35ca61599b41f89d6a160e74e95a31d511980f72ab1f4257b1e6fb28898ff07bbbe65cd54be801b6e1c2c552ef982962f083b0ed0d5488362ca00ab40f9acd7a543333aa29ada02833ec14548736a4911fccd0dac0eae987b10152161c55753fb14081e0a978b6a81b22bf0d6be2299952a71a726a5c99b144afa8f3ff5cd8d2d164a9767c832170884d3d8413f5e366a7c569a37e073ac626ec32d8",
"e6e54929abded72b3c331c8820d2d44cd4dce187c1e6527f58c8ff330de3207dc9cb0d852e66f3e40d76a449f3770fcdf981f2cba929998bcf1d504b2667e83435eb9cb0e0d534f58a287eb7fdb1a4efd232300df5d5144270b3cc01801fb9d1b73ab1ff226fb0f02352a6b591f1d74cfbd2cab7f1bbbbc78bb848f672bedf8f6f339c4a4cc7b0131e5ce8f690eeffdd7d60bb568b8243c88f2a6b2ebda9411a2a92b603ec90d9deb9b145729eb7ec248142ac4d71cf7044367ca52dcee739539542a3500b2ba208f82cc432e16832390de4b76115bd2ed7992a6f9a19fe89942e91fa8ad2dbf9e8c54e8314bee5c8354a2ff8f1af0d49148732b03f047ac98e",
"b64224c7305f4dad37cb376ffe6a519c1d398aa863aaa8fbbbe36a031888ef3e55baed6dd67b7e2f00784edfb81c6b24059c82db5a417cfa10a772a41f87fc7234a782a2b2871ea86266e49fc143a110e48b78c651c5e609c72de5b8192889df1fae84b10b66cedd1da6d75ba19744b3b28ecb333781c46bec5e5db4295038b9e208dc0ac8ed01fcd3beb631bb8506ef26f6f630fee35f27dee181fded93f2d25f6eae863ee1a26de6330ccc59182b8bd0f328deb61c6c9b264109740f0cfcc47742018c581037199645eeb34ded6eb00bd4f90f8299fbe1a51bd5ec55437a03e11ac9b2d9e287a42fb1ca4ad32b990d7c901deca5ea44304c3391b55b6de022"
],
"port": 80,
"host": "0.0.0.0",
"Media": {
"//[folder]": "Images are loaded from this folder (read permission required)",
"folder": "/app/data/images",
"//[tempFolder]": "Thumbnails, coverted photos, videos will be stored here (write permission required)",
"tempFolder": "/app/data/tmp",
"Video": {
"transcoding": {
"bitRate": 5242880,
"resolution": 720,
"fps": 25,
"codec": "libx264",
"format": "mp4",
"//[crf]": "Constant Rate Factor. The range of the CRF scale is 051, where 0 is lossless, 23 is the default, and 51 is worst quality possible.",
"crf": 23,
"//[preset]": "A preset is a collection of options that will provide a certain encoding speed to compression ratio",
"preset": "medium",
"//[customOptions]": "It will be sent to ffmpeg as it is, as custom options.",
"customOptions": []
}
},
"Photo": {
"Converting": {
"//[onTheFly]": "Converts photos on the fly, when they are requested.",
"onTheFly": true,
"resolution": 1080
}
},
"Thumbnail": {
"//[qualityPriority]": "if true, photos will have better quality.",
"qualityPriority": true,
"personFaceMargin": 0.6
}
},
"Threading": {
"//[enabled]": "App can run on multiple thread",
"enabled": true,
"//[thumbnailThreads]": "Number of threads that are used to generate thumbnails. If 0, number of 'CPU cores -1' threads will be used.",
"thumbnailThreads": 0
},
"Database": {
"type": "sqlite",
"dbFolder": "/app/data/db",
"sqlite": {
"DBFileName": "sqlite.db"
},
"mysql": {
"host": "localhost",
"port": 3306,
"database": "pigallery2",
"username": "",
"password": ""
}
},
"Sharing": {
"updateTimeout": 300000
},
"//[sessionTimeout]": "unit: ms",
"sessionTimeout": 604800000,
"Indexing": {
"cachedFolderTimeout": 3600000,
"reIndexingSensitivity": "low",
"//[excludeFolderList]": "If an entry starts with '/' it is treated as an absolute path. If it doesn't start with '/' but contains a '/', the path is relative to the image directory. If it doesn't contain a '/', any folder with this name will be excluded.",
"excludeFolderList": [
".Trash-1000",
".dtrash",
"$RECYCLE.BIN"
],
"//[excludeFileList]": "Any folder that contains a file with this name will be excluded from indexing.",
"excludeFileList": []
},
"//[photoMetadataSize]": "only this many bites will be loaded when scanning photo for metadata",
"photoMetadataSize": 524288,
"Duplicates": {
"listingLimit": 1000
},
"Log": {
"level": "info",
"sqlLevel": "error"
},
"Jobs": {
"//[maxSavedProgress]": "Job history size",
"maxSavedProgress": 10,
"scheduled": [
{
"name": "Indexing",
"jobName": "Indexing",
"config": {},
"allowParallelRun": false,
"trigger": {
"type": "never"
}
},
{
"name": "Thumbnail Generation",
"jobName": "Thumbnail Generation",
"config": {
"sizes": [
240
],
"indexedOnly": true
},
"allowParallelRun": false,
"trigger": {
"type": "after",
"afterScheduleName": "Indexing"
}
},
{
"name": "Photo Converting",
"jobName": "Photo Converting",
"config": {
"indexedOnly": true
},
"allowParallelRun": false,
"trigger": {
"type": "after",
"afterScheduleName": "Thumbnail Generation"
}
},
{
"name": "Video Converting",
"jobName": "Video Converting",
"config": {
"indexedOnly": true
},
"allowParallelRun": false,
"trigger": {
"type": "after",
"afterScheduleName": "Photo Converting"
}
},
{
"name": "Temp Folder Cleaning",
"jobName": "Temp Folder Cleaning",
"config": {
"indexedOnly": true
},
"allowParallelRun": false,
"trigger": {
"type": "after",
"afterScheduleName": "Video Converting"
}
}
]
}
},
"Client": {
"applicationTitle": "PiGallery 2",
"publicUrl": "",
"urlBase": "",
"Search": {
"enabled": true,
"searchCacheTimeout": 3600000,
"AutoComplete": {
"enabled": true,
"maxItemsPerCategory": 5,
"cacheTimeout": 3600000
},
"maxMediaResult": 2000,
"maxDirectoryResult": 200
},
"Sharing": {
"enabled": true,
"passwordProtected": true
},
"Map": {
"enabled": true,
"//[maxPreviewMarkers]": "Maximum number of markers to be shown on the map preview on the gallery page.",
"maxPreviewMarkers": 50,
"useImageMarkers": true,
"mapProvider": "OpenStreetMap",
"mapboxAccessToken": "",
"customLayers": [
{
"name": "street",
"url": ""
}
]
},
"RandomPhoto": {
"enabled": true
},
"Other": {
"enableCache": true,
"enableOnScrollRendering": true,
"defaultPhotoSortingMethod": "ascDate",
"//[enableDirectorySortingByDate]": "If enabled directories will be sorted by date, like photos, otherwise by name. Directory date is the last modification time of that directory not the creation date of the oldest photo",
"enableDirectorySortingByDate": false,
"enableOnScrollThumbnailPrioritising": true,
"NavBar": {
"showItemCount": true
},
"captionFirstNaming": false
},
"authenticationRequired": true,
"unAuthenticatedUserRole": "Admin",
"Media": {
"Thumbnail": {
"iconSize": 45,
"personThumbnailSize": 200,
"thumbnailSizes": [
240,
480
]
},
"Video": {
"enabled": true
},
"Photo": {
"Converting": {
"enabled": true
}
}
},
"MetaFile": {
"enabled": true
},
"Faces": {
"enabled": true,
"keywordsToPersons": false,
"writeAccessMinRole": "Admin",
"readAccessMinRole": "User"
}
}
}

View File

@@ -8,8 +8,9 @@ services:
volumes: volumes:
- "./config:/app/data/config" - "./config:/app/data/config"
- "./db-data:/app/data/db" - "./db-data:/app/data/db"
- "/mnt/Teka2/photos:/app/data/images:ro" - "/mnt/Teka2/photos:/app/data/images/photos:ro"
- "/mnt/Teka1/nextcloud/data/maksim/files/Автозагрузка/Camera:/app/data/images/autoload:ro"
- "./tmp:/app/data/tmp" - "./tmp:/app/data/tmp"
ports: ports:
- 7780:80 - 7780:80
restart: always restart: always

View File

@@ -50,7 +50,7 @@
"rpc-enabled": true, "rpc-enabled": true,
"rpc-host-whitelist": "", "rpc-host-whitelist": "",
"rpc-host-whitelist-enabled": false, "rpc-host-whitelist-enabled": false,
"rpc-password": "{adbe4fb172c032c2d7a4f5a37e31172fb6b91f6eNx/VbAlf", "rpc-password": "{9e928f24e0b8a01bebecd0e3ca3855cd5634a062JF/eKeW0",
"rpc-port": 9091, "rpc-port": 9091,
"rpc-socket-mode": "0750", "rpc-socket-mode": "0750",
"rpc-url": "/transmission/", "rpc-url": "/transmission/",

View File

@@ -1,7 +1,7 @@
version: '3' version: '3'
services: services:
app: app:
image: lscr.io/linuxserver/transmission:latest image: lscr.io/linuxserver/transmission:amd64-4.0.5
container_name: transmission container_name: transmission
environment: environment:
- PUID=0 - PUID=0