update
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
.data
|
.data
|
||||||
tmp
|
tmp
|
||||||
db-data
|
db-data
|
||||||
|
services/mailserver/data
|
||||||
|
|||||||
7
services/ingress/blog.conf
Normal file
7
services/ingress/blog.conf
Normal 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
3
services/ingress/dash.all.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
3
services/ingress/dash.all.min.js.1
Normal file
3
services/ingress/dash.all.min.js.1
Normal file
File diff suppressed because one or more lines are too long
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
19
services/mailserver/docker-compose.yaml
Normal file
19
services/mailserver/docker-compose.yaml
Normal 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
|
||||||
|
|
||||||
@@ -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 0–51, 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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/",
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user