Вернуться   Forum 3Dnews Tech > Железо > Носители информации
Вход через: 

Ответ Создать новую тему
 
Опции темы Опции просмотра
Старый 22.11.2024, 10:43   Вверх   #1
VitohA
Мужской 3Dnews fan
Автор темы
 
Регистрация: 13.09.2016
Адрес: Citizen of the World
И пару слов о софте/багах/etc.

Т.к. у меня всё докеризировано, а файлопомоечные диски не рутовые, то нужно пофиксить демон докера, чтобы он ждал маунта всех дисков. В противном случае докер порой поднимается быстрее, нежели монтируются диски, легковесность дистрибутива даёт о себе знать.
Так что правим openrc конфиг докера в /etc/runlevels/default/docker, добавив dev-mount в depend() секцию. По итогу получаем такой результат:

СПОЙЛЕР »
Код:
#!/sbin/openrc-run
supervisor=supervise-daemon

name="Docker Daemon"
description="Persistent process that manages docker containers"
description_reload="Reload configuration without exiting"

command="${DOCKERD_BINARY:-/usr/bin/dockerd}"
command_args="${DOCKER_OPTS}"

DOCKER_LOGFILE="${DOCKER_LOGFILE:-/var/log/${RC_SVCNAME}.log}"
DOCKER_ERRFILE="${DOCKER_ERRFILE:-${DOCKER_LOGFILE}}"
DOCKER_OUTFILE="${DOCKER_OUTFILE:-${DOCKER_LOGFILE}}"
if [ "$DOCKER_ERRFILE" = "$DOCKER_OUTFILE" ]; then
        LOGPROXY_OPTS="$LOGPROXY_OPTS -m"
fi
export \
        LOGPROXY_CHMOD="${LOGPROXY_CHMOD:-0644}" \
        LOGPROXY_LOG_DIRECTORY="${LOGPROXY_LOG_DIRECTORY:-/var/log}" \
        LOGPROXY_ROTATION_SIZE="${LOGPROXY_ROTATION_SIZE:-104857600}" \
        LOGPROXY_ROTATION_TIME="${LOGPROXY_ROTATION_TIME:-86400}" \
        LOGPROXY_ROTATION_SUFFIX="${LOGPROXY_ROTATION_SUFFIX:-.%Y%m%d%H%M%S}" \
        LOGPROXY_ROTATED_FILES="${LOGPROXY_ROTATE_FILES:-5}"

output_logger="log_proxy $LOGPROXY_OPTS $DOCKER_OUTFILE"
error_logger="log_proxy $LOGPROXY_OPTS $DOCKER_ERRFILE"

extra_started_commands="reload"

rc_ulimit="${DOCKER_ULIMIT:--c unlimited -n 1048576 -u unlimited}"

retry="${DOCKER_RETRY:-TERM/60/KILL/10}"

if [ -e /etc/profile.d/proxy.sh ]; then
        . /etc/profile.d/proxy.sh
fi

depend() {
        need sysfs cgroups net dev-mount
        after firewall
}

start_pre() {
        checkpath -f -m 0644 -o root:docker "$DOCKER_ERRFILE" "$DOCKER_OUTFILE"
}

reload() {
        ebegin "Reloading configuration"
        $supervisor $RC_SVCNAME --signal HUP
        eend $?
}


Весь софт докеризирован для лёгкого переноса между серверами и восстановления. Даже самба
Всё добро расположено в одном docker-compose,yaml файле, примерно такого вида:

СПОЙЛЕР »
Код:
services:
  samba:
    image: samba
    restart: ${RESTART_POLICY}
    build:
      context: .
      dockerfile: docker/samba
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=${TIMEZONE:-Europe/Moscow}
    volumes:
      - ${DOWNLOAD_FOLDER}:/downloads
      - ./config/samba/smb.conf:/etc/samba/smb.conf:ro
    ports:
      - 445:445
    deploy:
      resources:
        limits:
          cpus: '0.5'
          memory: 500M
  transmission:
    image: transmission
    user: vitoha
    restart: ${RESTART_POLICY}
    build:
      context: .
      dockerfile: docker/transmission
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=${TIMEZONE:-Europe/Moscow}
    volumes:
      - ./config/transmission:/transmission/config
      - ${DOWNLOAD_FOLDER}:/downloads
    ports:
      - ${WEB_UI_PORT:-9091}:9091
      - ${TORRENT_PORT:-64320}:64320
      - ${TORRENT_PORT:-64320}:64320/udp
    deploy:
      resources:
        limits:
          cpus: '1'
          memory: 4G
  jellyfin:
    image: lscr.io/linuxserver/jellyfin:10.9.11
    container_name: jellyfin
    devices:
      - /dev/dri
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - DOCKER_MODS=linuxserver/mods:jellyfin-opencl-intel
    volumes:
      - ./config/jellyfin:/config
      - ${DOWNLOAD_FOLDER}/tvseries:/data/tvshows
      - ${DOWNLOAD_FOLDER}/movies:/data/movies
    ports:
      - 8096:8096
      - 8920:8920
      - 7359:7359/udp
      - 1900:1900/udp
    restart: ${RESTART_POLICY}
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 1G


И содержимое .env файла, откуда подтягиваются переменные (только там что-то и надо править):
СПОЙЛЕР »
Код:
RESTART_POLICY=always
DOWNLOAD_FOLDER=/fileshare


Transmission и samba билдятся на локальной машине, вот их контент:
samba
СПОЙЛЕР »
Код:
FROM alpine:edge
RUN apk add --no-cache samba
ENTRYPOINT ["smbd", "-F", "--no-process-group"]

transmission (с закомменченым примером смены веб-интерфейса)
СПОЙЛЕР »
Код:
FROM alpine:edge

ENV USER_ID=1000
ENV GROUP_ID=1000
ENV USER_NAME=vitoha
ENV GROUP_NAME=vitoha

RUN addgroup -g $GROUP_ID $GROUP_NAME && \
    adduser --shell /sbin/nologin --disabled-password \
    --no-create-home --uid $USER_ID --ingroup $GROUP_NAME $USER_NAME
WORKDIR /app
RUN apk add --no-cache transmission-daemon wget unzip
#RUN wget https://github.com/Secretmapper/combustion/archive/release.zip && unzip release.zip
#ENV TRANSMISSION_WEB_HOME='/app/combustion-release'
ENTRYPOINT ["/usr/bin/transmission-daemon", "--foreground", "--config-dir", "/transmission/config"]


Да, не везде "красота", но это в процессе, т.к. надо добавить ещё jakett и Radarr для автоматизации автодобавления фильмов в библиотеку, а потом только оптимизировать compose. Ибо преждевременная оптимизация - корень всех бед.

По-факту система работает и работает без сбоев, после ребута автоматически поднимается очень быстро, но работы много впереди: и сервисов добавить, и нормально переписать композ, и адекватно добавить второй диск, который пока что только для "красоты".
По ресурсам: чисто для файлопомойки с торрентами хватит и 4ГБ ОЗУ, у меня потребление чуть повыше, т.к. ещё много, что там в тестовых целях крутится.
Изображения
Тип файла: png Screenshot from 2024-11-22 10-40-23.png (14.2 Кб, 12 просмотров)
VitohA вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 23.11.2024, 21:18   Вверх   #2
XaXoL
Мужской Модератор
 
Аватар для XaXoL
 
Регистрация: 17.03.2004
Адрес: K-PAX
Цитата (VitohA) »
докеризировано
это что?
XaXoL вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 24.11.2024, 02:33   Вверх   #3
Lesnik75
Мужской Сам ты IMHO!
 
Регистрация: 08.02.2003
Адрес: Nsk
XaXoL
Это контейнеры такие.
__________________
и тут пришел лесник ;)
Lesnik75 вне форума  
Конфигурация ПК
Ответить с цитированием
Старый 24.11.2024, 13:30   Вверх   #4
XaXoL
Мужской Модератор
 
Аватар для XaXoL
 
Регистрация: 17.03.2004
Адрес: K-PAX
Цитата (Lesnik75) »
XaXoL
Это контейнеры такие.
понятнее не стало )
XaXoL вне форума  
Конфигурация ПК
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:19. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4 Patch Level 5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot