Останні статті і огляди
Новини
NAS: выбор, обсуждение, настройка, эксплуатация
-
_clawfinger_
Member
- Звідки: З берегів Дніпра
Scoffer дякую за пояснення.
-
poulk
Advanced Member
- Звідки: Тернополь
Scoffer
частина вінтів вже є потенційно (треба лише перевірити іх стан ) і контролер один вже є. тож сенс юзати хард рейд як би є.
ну і питання в софті не знято.
в розрахунках мене все влаштовує. але додавати лінійні скорості читання я і сам вміюЯ не дуже розумію що саме тебе не влаштовує в розрахунках.
частина вінтів вже є потенційно (треба лише перевірити іх стан ) і контролер один вже є. тож сенс юзати хард рейд як би є.
ну і питання в софті не знято.
-
LostBoy
Member
- Звідки: Оккупированный Донецк - Киев
poulk
Мне кажется, вы все уже для себя решили и определились раз и диски есть, и контроллер есть, то они в ход и пойдут
Отправлено спустя 4 часа 1 минуту 42 секунды:
Ну, и резюмируя написанное выше, лично я полностью поддерживаю мысль о софтовом рейде с максимумом шпинделей, которые вы сможете вставить в корпус и без всякого кэша, который в случае с обработкой видео будет бесполезен. Если задачи со временем изменятся, тогда можно и о кэширующем накопителе подумать.
По поводу ОС - вы сами привели все возможные примеры. Раз зфс не нужен, то отбросим фринас/трунас. Остается, по сути, бэкпорт с синолоджи, OMV и анрейд. Последний я в глаза не видел, да и модель хранения в виде JBOD меня как-то подсознательно напрягает. Синолоджи, насколько я знаю, банит на своей DDNS-службе ломаные инсталляции, так что если нет белого айпи, то тоже хорошо подумайте. Если нужна только самба, то я бы все-таки раскатал минимальную юбунту с смбд. Там делов на час.
Также имейте в виду, что диски на 7200 оборотов в количестве 10 штук устроят дома акустический ад. У меня в мой DS414j как-то были вставлены 4 сигейтовских констеллейшна, спать в одной комнате с этой коробкой под нагрузкой было невозможно. Подумайте над размещением в кладовке, если есть такая возможность.
Мне кажется, вы все уже для себя решили и определились раз и диски есть, и контроллер есть, то они в ход и пойдут
Отправлено спустя 4 часа 1 минуту 42 секунды:
Ну, и резюмируя написанное выше, лично я полностью поддерживаю мысль о софтовом рейде с максимумом шпинделей, которые вы сможете вставить в корпус и без всякого кэша, который в случае с обработкой видео будет бесполезен. Если задачи со временем изменятся, тогда можно и о кэширующем накопителе подумать.
По поводу ОС - вы сами привели все возможные примеры. Раз зфс не нужен, то отбросим фринас/трунас. Остается, по сути, бэкпорт с синолоджи, OMV и анрейд. Последний я в глаза не видел, да и модель хранения в виде JBOD меня как-то подсознательно напрягает. Синолоджи, насколько я знаю, банит на своей DDNS-службе ломаные инсталляции, так что если нет белого айпи, то тоже хорошо подумайте. Если нужна только самба, то я бы все-таки раскатал минимальную юбунту с смбд. Там делов на час.
Также имейте в виду, что диски на 7200 оборотов в количестве 10 штук устроят дома акустический ад. У меня в мой DS414j как-то были вставлены 4 сигейтовских констеллейшна, спать в одной комнате с этой коробкой под нагрузкой было невозможно. Подумайте над размещением в кладовке, если есть такая возможность.
-
poulk
Advanced Member
- Звідки: Тернополь
LostBoy
да в том то и дело, что пока ничего не решил
старый рейд, похоже уже слегка глючный. и винты в старом рейде уже почти 7 лет отпахали.
по сути надо получить лишь более менее стабильные скорости не меньше 500-700 МБ/с в любом месте дисков (а не только на внешних радиусах) плюс хоть немного надежности.
буду сидеть гонять софт на виртуалке, может как то попонятней станет
остался вопрос по контролерам, что из более менее вменяемого по цене сейчас можно найти с ссд кешем и сас (присмотрел такие диски HGST Ultrastar DC HC320 SAS 8 TB)
И есть вопрос в какой корпус это все пихать Кроме колхоза в каком-нибудь гробоподобном корпусе пока ничего в голову не приходит. Может у кого есть какие то идеи. Думал еще может взять серверный корпус и на бок его поставить (приделав ножки).
С большой вероятностью кейс будет стоять на застекленном балконе.
да в том то и дело, что пока ничего не решил
старый рейд, похоже уже слегка глючный. и винты в старом рейде уже почти 7 лет отпахали.
по сути надо получить лишь более менее стабильные скорости не меньше 500-700 МБ/с в любом месте дисков (а не только на внешних радиусах) плюс хоть немного надежности.
буду сидеть гонять софт на виртуалке, может как то попонятней станет
остался вопрос по контролерам, что из более менее вменяемого по цене сейчас можно найти с ссд кешем и сас (присмотрел такие диски HGST Ultrastar DC HC320 SAS 8 TB)
И есть вопрос в какой корпус это все пихать Кроме колхоза в каком-нибудь гробоподобном корпусе пока ничего в голову не приходит. Может у кого есть какие то идеи. Думал еще может взять серверный корпус и на бок его поставить (приделав ножки).
С большой вероятностью кейс будет стоять на застекленном балконе.
-
LostBoy
Member
- Звідки: Оккупированный Донецк - Киев
Балкон отапливаемый? Если нет, то конденсат зимой быстро убьет машину.poulk:С большой вероятностью кейс будет стоять на застекленном балконе.
Если нужно воткнуть овер 10 дисков, то ищите рэкмаунт корпус, а возможно, что и сервер целиком - с бэкплэйном и фронтальной загрузкой дисков в корзину на морде. Иначе замена сбойного диска превратится в полноценный челленджpoulk:И есть вопрос в какой корпус это все пихать Кроме колхоза в каком-нибудь гробоподобном корпусе пока ничего в голову не приходит. Может у кого есть какие то идеи. Думал еще может взять серверный корпус и на бок его поставить (приделав ножки).
А по остальному решайте сами, мне уже нечего добавить.
-
TomMass
Member
- Звідки: Харьков
А мне понравилась такой способ сборки
Теперь ищу себе корпус на >9 отсеков 5,25 и буду брать HBA и китайские корзины.
А то в моем и место для дисков закончилось (6 отделов) и слоты sata на мамке. И вчера запустил пару конвертаций, синхронизацию nextcloud ( оч много файлов добавилось в книжную библиотеку). еще и фильм на телевизоре через плекс играл и понял я, что мой i3-2120 уже не вывозить - пора переезжать на 2011й сокет.
P.S. если кому нужен Fractal Design Define Mini (FD-CA-DEF-MINI-BL) - обращайтесь. Меня долгое время он устраивал
Теперь ищу себе корпус на >9 отсеков 5,25 и буду брать HBA и китайские корзины.
А то в моем и место для дисков закончилось (6 отделов) и слоты sata на мамке. И вчера запустил пару конвертаций, синхронизацию nextcloud ( оч много файлов добавилось в книжную библиотеку). еще и фильм на телевизоре через плекс играл и понял я, что мой i3-2120 уже не вывозить - пора переезжать на 2011й сокет.
P.S. если кому нужен Fractal Design Define Mini (FD-CA-DEF-MINI-BL) - обращайтесь. Меня долгое время он устраивал
-
Васильович
Member
TomMass
Ідея годна, в мене якраз підходящий корпус (в основному ПК) для таких корзин - може колись згодиться.
Я колись після перегляду цього відео став себе заспокоювати, що то в мене не порожній корпус в нинішньому NAS - то перспектива на апгрейд
P.S. Якщо кому цікаво: ASUS C60M-I, OMV5 на ssd через SATA-USB, пара вінтів в LVM для бекапів (треба були квоти, тому так), решта вінтів в UnionFS об'єднана для фільмів/торрентів, вентилятор БЖ на понижених оборотах через резистор (комплектний з якогось кулера).
Ідея годна, в мене якраз підходящий корпус (в основному ПК) для таких корзин - може колись згодиться.
Я колись після перегляду цього відео став себе заспокоювати, що то в мене не порожній корпус в нинішньому NAS - то перспектива на апгрейд
P.S. Якщо кому цікаво: ASUS C60M-I, OMV5 на ssd через SATA-USB, пара вінтів в LVM для бекапів (треба були квоти, тому так), решта вінтів в UnionFS об'єднана для фільмів/торрентів, вентилятор БЖ на понижених оборотах через резистор (комплектний з якогось кулера).
-
TomMass
Member
- Звідки: Харьков
-
LostBoy
Member
- Звідки: Оккупированный Донецк - Киев
У меня пока так, личинка NASа
- спойлер
-
TomMass
Member
- Звідки: Харьков
LostBoy
А где в этой личинке будут харды?
в pci-e висит m2>pci?
Отправлено спустя 32 секунды:
а стоп. это node 804?
А где в этой личинке будут харды?
в pci-e висит m2>pci?
Отправлено спустя 32 секунды:
а стоп. это node 804?
-
LostBoy
Member
- Звідки: Оккупированный Донецк - Киев
АгаTomMass:это node 804?
УгуTomMass:в pci-e висит m2>pci?
-
TomMass
Member
- Звідки: Харьков
LostBoy
Ох
Мои искренние поздравления! Давно хочу такой. Но все внутрення жаба не дает мне это сделать. А на б/у пока не встречал
Должен быть отличный кейс
Ох
Мои искренние поздравления! Давно хочу такой. Но все внутрення жаба не дает мне это сделать. А на б/у пока не встречал
Должен быть отличный кейс
-
zhekaice
Member
але він лише на 8 Хардів. Чи є можливість прикрутити ще 2-4?
-
LostBoy
Member
- Звідки: Оккупированный Донецк - Киев
Я его купил летом б/у на олх совсем за недорого, меньше 100 баксов. Состояние нового фактически, если его и использовали, то минимально.TomMass:А на б/у пока не встречал
Этот корпус все равно не ю-нас, который я хотел, но из-за пандемии заказать было нереально, может, сейчас уже что-то поменялось. Но в августе юнасов в официальном магазине в наличии не было. Так что буду жить пока с этим фд, а дальше посмотрим.
Отправлено спустя 6 минут 54 секунды:
Вообще можно впихнуть 10 3.5'' - 8 сзади и 2 внизу крепятся, под материнской платой. Ещё 2 2.5'' девайса можно в полости фронтальной крышки разместить. И даже щель для оптического драйва есть.zhekaice:але він лише на 8 Хардів. Чи є можливість прикрутити ще 2-4?
Но я буду использовать только 8 винтиков сзади - RAIDZ2 из 8 дисков под пользовательские данные семьи. И 2 ссд-диска под юбунту и имэджи в мирроре. Ну и тот mlc ssd samsung, который вы видите на фото, под l2arc. По дисковой подсистеме все.
Я в профиль внёс всю комплектуху этого билда, если кому интересно
-
Sachu
Member
- Звідки: Киев
Ну и я тогда свой NAS всуну
Но который год работает и кушать не просит.
- спойлер
- https://fex.net/ru/s/vsflnce
Но который год работает и кушать не просит.
-
LostBoy
Member
- Звідки: Оккупированный Донецк - Киев
TomMass
А расшарь свой компоуз, плиз. А то я уже свой допилил (почти), хочу у народа глянуть, кто еще чего впилил у себя.
А расшарь свой компоуз, плиз. А то я уже свой допилил (почти), хочу у народа глянуть, кто еще чего впилил у себя.
-
Васильович
Member
Склав, в прямому смислі, з того що було під рукою.TomMass:Васильович
Ух...солянка конечно))
Докупив лише корзини на aliexpress (пластикову на два вінти 2,5" і алюмінієву на чотири 2,5"), ну і нормальний USB перехідник для SSD (на фото ще плата з якогось зовнішнього USB диска).
Для мого скромного використання вистачає.
В докері крутяться transmission i jellyfin, натівно - samba.
Весь NAS їсть 30-38 Вт з розетки
-
TomMass
Member
- Звідки: Харьков
ну это ж тоже зависит от объема хардовzhekaice:але він лише на 8 Хардів. Чи є можливість прикрутити ще 2-4?
8х3тб в 6м рейде = 18 TB
а 8х6тб в той же 6ке = 36 TB
Так что на усмотрение каждого. Я решил что все буду забивать старыми 3шками без всяких srm. Штук 15. Благо куча рефурбов с годовой гарантией
Я когда свой искал, на бу не было. А в магазинах от 150ти зеленых все начиналосьLostBoy: Я его купил летом б/у на олх совсем за недорого, меньше 100 баксов. Состояние нового фактически, если его и использовали, то минимально.
Этот корпус все равно не ю-нас, который я хотел, но из-за пандемии заказать было нереально, может, сейчас уже что-то поменялось. Но в августе юнасов в официальном магазине в наличии не было. Так что буду жить пока с этим фд, а дальше посмотрим.
Отправлено спустя 7 минут 27 секунд:
Вот основной. Vault и бекапы в соседнем. поделюсь, если нужно. Все с работой не могу статью на хабр сделать с публичный репозиторием(LostBoy: А расшарь свой компоуз, плиз. А то я уже свой допилил (почти), хочу у народа глянуть, кто еще чего впилил у себя.
- спойлер
Код: Виділити все
version: '3.5' services: ######################## MEDIA ######################## plex: image: linuxserver/plex:latest container_name: plex network_mode: host environment: PUID: 1000 PGID: 1000 VERSION: docker volumes: - "${PLEX_DIR}/library:/config" - "${MEDIA_DIR}:/media" - "${PHOTOS_DIR}:/Photos" - "${PLEX_DIR}/photos:/photos" - "${PLEX_DIR}/transcoding:/transcode" ports: - 32400:32400 - 32400:32400/udp - 32469:32469 - 32469:32469/udp - 5353:5353/udp - 1900:1900/udp restart: unless-stopped labels: org.label-schema.group: "media" tautulli: image: linuxserver/tautulli container_name: tautulli restart: unless-stopped expose: - "8181" volumes: - "${DOCKER_DIR}/tautulli:/config" - "${PLEX_DIR}/library/Library/Application Support/Plex Media Server/Logs:/logs:ro" environment: PUID: 1000 PGID: 1000 TZ: Kiev/Europe labels: org.label-schema.group: "media" qbittorrent: image: linuxserver/qbittorrent container_name: qbittorrent environment: - PUID=1000 - PGID=1000 - TZ=Europe/Kiev - UMASK_SET=022 - WEBUI_PORT=8090 - TELEGRAM_TOKEN=${telegram_bot_token} - TELEGRAM_CHAT=${telegrem_tommass_id} volumes: - "${DOCKER_DIR}/qbittorrent/config:/config" - "${MEDIA_DIR}:/downloads" - "${TOR_WATCH_DIR}:/watch" - "${TOR_TMP}:/downloads/tmp" - ./scripts/notifications/telegram.sh:/opt/telegram.sh ports: - 6881:6881 - 6881:6881/udp - 8090:8090 restart: unless-stopped labels: org.label-schema.group: "media" deluge: image: linuxserver/deluge container_name: deluge restart: unless-stopped network_mode: host volumes: - "${TOR_WATCH_DIR}:/watch" - "${DOCKER_DIR}/deluge/config:/config" - "${ART_SAMBA}/objects:/downloads" - "${TOR_TMP}:/downloads/tmp" ports: - "8112:8112" - "58846:58846" - "58847:58847" - "58847:58847/udp" environment: # - VIRTUAL_HOST=deluge.bla-bla.com - PUID=1000 - PGID=1000 - TZ=Kiev/Europe - UMASK_SET=022 - DELUGE_LOGLEVEL=error radarr: image: linuxserver/radarr container_name: radarr environment: - PUID=1000 - PGID=1000 - TZ=Europe/London - UMASK_SET=022 #optional volumes: - "${DOCKER_DIR}/radarr/config:/config" - "${MEDIA_DIR}:/downloads" - "${TOR_WATCH_DIR}:/watch" ports: - 7878:7878 restart: unless-stopped labels: org.label-schema.group: "media" jackett: image: linuxserver/jackett container_name: jackett environment: - PUID=1000 - PGID=1000 - TZ=Europe/London - AUTO_UPDATE=true #optional # - RUN_OPTS=run options here #optional volumes: - "${DOCKER_DIR}/jackett/config:/config" - "${MEDIA_DIR}:/downloads" ports: - 9117:9117 restart: unless-stopped labels: org.label-schema.group: "media" gramarr: build: ./builds/gramarr container_name: gramarr-telegram-bot restart: unless-stopped labels: org.label-schema.group: "media" ######################## Nextcloud ######################## nextcloud-db: image: mariadb:latest container_name: nextcloud-db command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: unless-stopped volumes: - ${DB_DIR}/nextcloud:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=${nextcloud_root_pass} - MYSQL_PASSWORD=${nextcloud_db_user_pass} - MYSQL_DATABASE=${nextcloud_db_name} - MYSQL_USER=${nextcloud_user_name} networks: nextcloud: backup: labels: org.label-schema.group: "nextcloud" nextcloud-redis: container_name: nextcloud-redis image: redis:alpine restart: unless-stopped networks: nextcloud: labels: org.label-schema.group: "nextcloud" nextcloud-app: container_name: nextcloud-app build: ./builds/nextcloud/app-fpm-full # image: nextcloud:fpm-alpine restart: unless-stopped links: - nextcloud-db volumes: - ${NEXTCLOUD_DIR}:/var/www/html expose: - "9000" environment: - MYSQL_HOST=nextcloud-db - REDIS_HOST=nextcloud-redis - MYSQL_PASSWORD=${nextcloud_db_user_pass} - MYSQL_DATABASE=${nextcloud_db_name} - MYSQL_USER=${nextcloud_user_name} depends_on: - nextcloud-db - nextcloud-redis networks: nextcloud: aliases: - nextcloud-app labels: org.label-schema.group: "nextcloud" nextcloud-web: container_name: nextcloud-web build: ./builds/nextcloud/web restart: unless-stopped expose: - 8089 volumes: - ${NEXTCLOUD_DIR}:/var/www/html depends_on: - nextcloud-app # environment: # - VIRTUAL_HOST=cloud.bla-bla.com networks: nextcloud: labels: org.label-schema.group: "nextcloud" nextcloud-client: container_name: nextcloud-client build: dockerfile: Dockerfile context: ./builds/nextcloud-client/ volumes: - "./builds/nextcloud-client/sync-exclude.lst:/opt/nextcl-sync-exclude.lst" - "${DOCKER_DIR}/nextcloud_client:/media/nextcloud" restart: unless-stopped environment: - PUID=1000 - PGID=1000 - TZ=Kiev/Europe - NC_INTERVAL=60 - NC_USER=${nextcloud_client_user_name} - NC_PASS=${nextcloud_client_user_password} - NC_SILENT=false - NC_URL=https://cloud.bla-bla.com labels: org.label-schema.group: "nextcloud" logging: driver: "json-file" options: max-file: "5" max-size: "50m" # logging: # driver: gelf # options: # gelf-address: "udp://" # tag: "nextcloud-client" ######################## VPN ################################## vpn: image: hwdsl2/ipsec-vpn-server restart: unless-stopped environment: - VPN_IPSEC_PSK=${ipsec_pre_shared_key} - VPN_USER=${artem_vpn_username} - VPN_PASSWORD=${artem_vpn_password} - VPN_ADDL_USERS=${safon_vpn_username} - VPN_ADDL_PASSWORDS=${safon_vpn_password} ports: - "500:500/udp" - "4500:4500/udp" privileged: true hostname: vpn.bla-bla.com container_name: vpn-server-ipsec ######################## PROXY ################################## nginx-proxy: container_name: nginx-proxy build: ./builds/nginx restart: unless-stopped ports: - "80:80" - "443:443" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - "${DOCKER_DIR}/ssl:/etc/ssl_certs" - "${DOCKER_DIR}/ssl:/etc/nginx/certs" - "${MD0}/wp_cv:/var/www/wp_cv" networks: default: nextcloud: monitor-net: wp-net: labels: org.label-schema.group: "proxy" caddy: image: stefanprodan/caddy container_name: caddy ports: - "3000:3000" - "9090:9090" - "9093:9093" - "9091:9091" - "6660:6660" - "6661:6661" - "6662:6662" volumes: - ./builds/caddy:/etc/caddy environment: - ADMIN_USER=${CADDY_ADMIN_USER:-admin} - ADMIN_PASSWORD=${CADDY_ADMIN_PASSWORD:-admin} - PLEXPY_USER=${GRAFANA_ADMIN_USER} - PLEXPY_USER_PASS=${GRAFANA_ADMIN_PASSWORD} - RADARR_USER=${RADARR_USER} - RADARR_USER_PASS=${RADARR_USER_PASS} restart: unless-stopped networks: - monitor-net - default labels: org.label-schema.group: "proxy" ######################## Monitoring ################################## prometheus: image: prom/prometheus:latest container_name: prometheus volumes: - ./monitoring/prometheus:/etc/prometheus - "${DOCKER_DIR}/prometheus:/prometheus" command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--web.console.libraries=/etc/prometheus/console_libraries' - '--web.console.templates=/etc/prometheus/consoles' - '--storage.tsdb.retention.time=30d' - '--web.enable-lifecycle' restart: unless-stopped expose: - 9090 networks: - monitor-net labels: org.label-schema.group: "monitoring" alertmanager: image: prom/alertmanager:v0.20.0 container_name: alertmanager volumes: - ./monitoring/alertmanager:/etc/alertmanager command: - '--config.file=/etc/alertmanager/config.yml' - '--storage.path=/alertmanager' restart: unless-stopped expose: - 9093 networks: - monitor-net labels: org.label-schema.group: "monitoring" cadvisor: image: gcr.io/google-containers/cadvisor:latest container_name: cadvisor volumes: - /:/rootfs:ro - /var/run:/var/run:rw - /sys:/sys:ro - /var/lib/docker:/var/lib/docker:ro - /cgroup:/cgroup:ro #doesn't work on MacOS only for Linux restart: unless-stopped expose: - 8080 networks: - monitor-net labels: org.label-schema.group: "monitoring" privileged: true grafana: image: grafana/grafana:latest container_name: grafana volumes: - "${DOCKER_DIR}/grafana:/var/lib/grafana" - ./monitoring/grafana/provisioning:/etc/grafana/provisioning environment: - GF_SERVER_ROOT_URL=https://grafana.bla-bla.com - GF_SECURITY_ADMIN_USER=${GRAFANA_ADMIN_USER:-admin} - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD:-admin} - GF_USERS_ALLOW_SIGN_UP=false - GF_RENDERING_SERVER_URL=http://renderer:8081/render - GF_RENDERING_CALLBACK_URL=http://grafana:3000 - GF_LOG_FILTERS=rendering:debug - GF_INSTALL_PLUGINS=grafana-piechart-panel,grafana-image-renderer,grafana-worldmap-panel,raintank-worldping-app expose: - 3000 networks: - monitor-net restart: unless-stopped labels: org.label-schema.group: "monitoring" renderer: container_name: renderer image: grafana/grafana-image-renderer:latest restart: unless-stopped ports: - 8081 networks: - monitor-net pushgateway: image: prom/pushgateway:v1.1.0 container_name: pushgateway restart: unless-stopped expose: - 9091 networks: - monitor-net labels: org.label-schema.group: "monitoring" nodeexporter: image: prom/node-exporter:latest container_name: nodeexporter volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro - "${DOCKER_DIR}/nodeexporter:/mnt/data" command: - '--path.procfs=/host/proc' - '--path.rootfs=/rootfs' - '--path.sysfs=/host/sys' - '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)' - '--collector.textfile.directory=/mnt/data' restart: unless-stopped expose: - 9100 networks: - monitor-net labels: org.label-schema.group: "monitoring" cap_add: - SYS_TIME smartmon: build: context: ./builds/smart dockerfile: Dockerfile container_name: smartmon restart: unless-stopped volumes: - "${DOCKER_DIR}/nodeexporter:/var/lib/node_exporter" - /:/rootfs:ro environment: - SMART_INTERVAL=60 networks: - monitor-net privileged: true labels: org.label-schema.group: "monitoring" #################################### WP #################################### wp_cv_db: image: mariadb:latest container_name: wp_cv_db restart: unless-stopped # env_file: .env environment: - MYSQL_ROOT_PASSWORD=${wp_cv_root_pass} - MYSQL_PASSWORD=${wp_cv_db_user_pass} - MYSQL_USER=${wp_cv_user_name} - MYSQL_DATABASE=wordpress volumes: - "${DB_DIR}/db_wp_cv:/var/lib/mysql" command: '--default-authentication-plugin=mysql_native_password' networks: - wp-net - backup wp_cv: depends_on: - wp_cv_db image: wordpress:latest container_name: wp_cv restart: unless-stopped environment: - WORDPRESS_DB_HOST=wp_cv_db:3306 - WORDPRESS_DB_USER=${wp_cv_user_name} - WORDPRESS_DB_PASSWORD=${wp_cv_db_user_pass} - WORDPRESS_DB_NAME=wordpress volumes: - "${MD0}/wp_cv:/var/www/html" networks: - wp-net #################################### Calibre #################################### calibre: image: linuxserver/calibre container_name: calibre environment: - PUID=1000 - PGID=1003 - TZ=Europe/Kiev - GUAC_USER=tommass - GUAC_PASS=140a8497592fc18be1cab2f9832d2c7f #optional - UMASK_SET=022 #optional # - CLI_ARGS= #optional volumes: - "${DOCKER_DIR}/calibre/server:/config" - "${MD0}/Library:/library" ports: - 5090:8080 - 5091:8081 restart: unless-stopped calibre-web: image: linuxserver/calibre-web container_name: calibre-web environment: - PUID=1000 - PGID=1003 - TZ=Europe/Kiev - DOCKER_MODS=linuxserver/calibre-web:calibre - HTTPS_METHOD=redirect volumes: - "${DOCKER_DIR}/calibre/web:/config" - "${MD0}/Library:/library" expose: - 8083 restart: unless-stopped #___________________________________________________________________________ networks: nextcloud: driver: bridge driver_opts: com.docker.network.enable_ipv6: "false" monitor-net: driver: bridge driver_opts: com.docker.network.enable_ipv6: "false" wp-net: driver: bridge driver_opts: com.docker.network.enable_ipv6: "false" backup: external: name: backup
Васильович
Это нормально.у меня первая версия была на Acer Veriton X2631G SFF и (простите боги ) на Винде
-
LostBoy
Member
- Звідки: Оккупированный Донецк - Киев
TomMass
Спасибо. Немного критики (конструктивной) и вопросов:
1. Все эти радарры, грамарры и прочие сонарры - ты этим реально пользуешься? Если да, то расскажи о кейсах использования, пож. Как по мне, то бесполезная шляпа
2. Зачем столько проксирующих контейнеров? jackett, nginx, caddy? Может, к чему-то одному прийти?
3. Зачем для некстклауда редиска? Пользовательские сессии хранить или для чего-то другого?
4. Зачем клиент некстклауда на сервере?
5. vpn в оверлейной сети у тебя работает? Разве для ipsec не нужно создание виртуального сетевого интерфейса? Вроде его создать можно только в режиме network: host
6. А самба нативно поднята средствами хоста? Или не юзаешь?
Пара советов:
1. Присмотрись к связке traefik+authelia вместо nginx. Это даст суперудобную авторизацию в каком хочешь виде (sso, otp, 2fa, etc), функционал fail2ban, валидные сертификаты даже на фейковых доменах а-ля *.home или *.lan, исключит выброс портов на хостовую машину, везде, что должно смотреть в мир, будет достаточно опции expose. Ну и реверс-прокси, само собой, так что только форвардинг 80/443 на маршрутизаторе для внешних коннектов.
2. Где логи хранишь? Советую локи, намного легче ELK, что по потреблению ресурсов, что по конфигурированию.
3. Чек смартов дисков и демон для UPS для корректного шатдауна тоже обязательно нужны, не увидел. Так что smartmontools и apcupsd нужны обязательно.
Спасибо. Немного критики (конструктивной) и вопросов:
1. Все эти радарры, грамарры и прочие сонарры - ты этим реально пользуешься? Если да, то расскажи о кейсах использования, пож. Как по мне, то бесполезная шляпа
2. Зачем столько проксирующих контейнеров? jackett, nginx, caddy? Может, к чему-то одному прийти?
3. Зачем для некстклауда редиска? Пользовательские сессии хранить или для чего-то другого?
4. Зачем клиент некстклауда на сервере?
5. vpn в оверлейной сети у тебя работает? Разве для ipsec не нужно создание виртуального сетевого интерфейса? Вроде его создать можно только в режиме network: host
6. А самба нативно поднята средствами хоста? Или не юзаешь?
Пара советов:
1. Присмотрись к связке traefik+authelia вместо nginx. Это даст суперудобную авторизацию в каком хочешь виде (sso, otp, 2fa, etc), функционал fail2ban, валидные сертификаты даже на фейковых доменах а-ля *.home или *.lan, исключит выброс портов на хостовую машину, везде, что должно смотреть в мир, будет достаточно опции expose. Ну и реверс-прокси, само собой, так что только форвардинг 80/443 на маршрутизаторе для внешних коннектов.
2. Где логи хранишь? Советую локи, намного легче ELK, что по потреблению ресурсов, что по конфигурированию.
3. Чек смартов дисков и демон для UPS для корректного шатдауна тоже обязательно нужны, не увидел. Так что smartmontools и apcupsd нужны обязательно.
-
TomMass
Member
- Звідки: Харьков
LostBoy
Да не за что
1. Да. Юзаю радарр.И не не только я, но и домашние. Юзкейс простой: в jackett добавляются теркеры и настраивается их индексация по айди категориям.В радар прокидываются апи ключи из джакета. Связываешь торрент-клиентом и настраиваешь в нем нужную категорию. Заходишь на радар, вбиваешь имя фильма и добавляешь его в библиотеку. В идеальном флоу он ищет установленное тобой качество на трекерах и дробавляет в загрузки. Но я никак не напишу нормальные регэкспы, чтобы он корректно подхватывал имена. Так что нужно тыцнуть кнопочку "скачать". То есть жена зашла и нашла кинцо из основных (4 на данный момент подвязано) трекеров.
2. Nginx как пережиток старых конфигов и сердцу близок) jackett не прокси. caddy удобно проксить по портам, без доменов. То есть не экспортить порт контейнера в систему, а проксить через кадди в контейнер на порт. Но сам понимаю, что нужно найти более удобное решение. Думал на него полностью перелезть когда-то - но сыровато еще все у них. Не помню уже с чем столкнулся, но помню что не было какой-то элементарщины.
3. Редиска хранит сессии и кеш путей к объектам. После добавления загрузка картинок и фоток х2.
4. Есть общий для всех юзер, у которого примуанченный вольюм так же примаунчен к торренту. Там несколько директорий. Эти директории в торренте настроены как watch-dir. Соответственно закидываем торрент файлик в диру games > nextcloud синкает на сервер > клиент по крону тянет с сервера > торрент-клиент добавляет новый торрент с правилами (для games скачивать в games) > торрент удаляет или переносит файл > nx client синхронизирует это удаление. Почему через клиент? потому что в nextcloud нужно сихронизировать файлы и метаданные об этих файлах в базе.
5. Не нужно. Пробросил порт с роутера на адрес и выкинул порт контейнера. Так потому что mac по дефолту не поддерживает l2tp over ipsec. Костылить на рабочей тачке не хотел. Так что просто поднял контейнер
6.Самба просто на системе. Ибо невозможно разобраться с владельцами файлов в вольюмах, что маунтятся на самбу и на сервисы. Точнее можно, но оооооочень много гемороя
1. traefik норм. не хватает времени его нормально разобрать. хоть на работе и крутиться в одном из кубер кластеров. как в отпуск уйду-может дойдут руки и голова. но сперва нужно добить python. это сейчас больший приоритет)))
2. Логи были сперва в elk через gelf на другой машине. потом забил. тк система работает стабильно уже долгое время особо не чего там читать. а новые сервисы через docker logs -f. но нужно бы лимиты поставить, да.
3. Смарт есть в графану через node-rexporter. smartmon контейнер называется
Отправлено спустя 30 секунд:
кстати книги нормальной по traefik нет?
Да не за что
1. Да. Юзаю радарр.И не не только я, но и домашние. Юзкейс простой: в jackett добавляются теркеры и настраивается их индексация по айди категориям.В радар прокидываются апи ключи из джакета. Связываешь торрент-клиентом и настраиваешь в нем нужную категорию. Заходишь на радар, вбиваешь имя фильма и добавляешь его в библиотеку. В идеальном флоу он ищет установленное тобой качество на трекерах и дробавляет в загрузки. Но я никак не напишу нормальные регэкспы, чтобы он корректно подхватывал имена. Так что нужно тыцнуть кнопочку "скачать". То есть жена зашла и нашла кинцо из основных (4 на данный момент подвязано) трекеров.
2. Nginx как пережиток старых конфигов и сердцу близок) jackett не прокси. caddy удобно проксить по портам, без доменов. То есть не экспортить порт контейнера в систему, а проксить через кадди в контейнер на порт. Но сам понимаю, что нужно найти более удобное решение. Думал на него полностью перелезть когда-то - но сыровато еще все у них. Не помню уже с чем столкнулся, но помню что не было какой-то элементарщины.
3. Редиска хранит сессии и кеш путей к объектам. После добавления загрузка картинок и фоток х2.
4. Есть общий для всех юзер, у которого примуанченный вольюм так же примаунчен к торренту. Там несколько директорий. Эти директории в торренте настроены как watch-dir. Соответственно закидываем торрент файлик в диру games > nextcloud синкает на сервер > клиент по крону тянет с сервера > торрент-клиент добавляет новый торрент с правилами (для games скачивать в games) > торрент удаляет или переносит файл > nx client синхронизирует это удаление. Почему через клиент? потому что в nextcloud нужно сихронизировать файлы и метаданные об этих файлах в базе.
5. Не нужно. Пробросил порт с роутера на адрес и выкинул порт контейнера. Так потому что mac по дефолту не поддерживает l2tp over ipsec. Костылить на рабочей тачке не хотел. Так что просто поднял контейнер
6.Самба просто на системе. Ибо невозможно разобраться с владельцами файлов в вольюмах, что маунтятся на самбу и на сервисы. Точнее можно, но оооооочень много гемороя
1. traefik норм. не хватает времени его нормально разобрать. хоть на работе и крутиться в одном из кубер кластеров. как в отпуск уйду-может дойдут руки и голова. но сперва нужно добить python. это сейчас больший приоритет)))
2. Логи были сперва в elk через gelf на другой машине. потом забил. тк система работает стабильно уже долгое время особо не чего там читать. а новые сервисы через docker logs -f. но нужно бы лимиты поставить, да.
3. Смарт есть в графану через node-rexporter. smartmon контейнер называется
Отправлено спустя 30 секунд:
кстати книги нормальной по traefik нет?