分类 赚钱宝2代 下的文章

以下为官方安装文档:https://jellyfin.org/docs/general/installation/container

  1. 下载最新的容器镜像。

    docker pull jellyfin/jellyfin
    
  2. 为配置和缓存数据创建持久存储。

    在主机上创建两个目录并使用绑定挂载:

    mkdir ./path/to/config -p
    mkdir ./path/to/cache -p

    或者创建两个持久卷:

    docker volume create jellyfin-config
    docker volume create jellyfin-cache

    3、 通过以下方式之一创建并运行容器。

    注意:Docker 的默认网络模式是桥接模式。如果省略主机模式,则将使用桥接模式。使用主机网络 ( --net=host) 是可选的,但必须使用 DLNA 才能使用。

    一、使用 Docker 命令行界面:

    docker run -d \
    --name jellyfin \
    --user uid:gid \
    --net=host \
    --volume /path/to/config:/config \ # Alternatively
    --volume jellyfin-config:/config
    --volume /path/to/cache:/cache \ # Alternatively
    --volume jellyfin-cache:/cache
    --mount type=bind,source=/path/to/media,target=/media \
    --restart=unless-stopped \
    jellyfin/jellyfin

    正确命令:

    docker run -d --name jellyfin --net=host --volume ./path/to/config:/config --volume ./path/to/cache:/cache --mount type=bind,source=/mnt/sda/smba,target=/media1 --mount type=bind,source=/mnt/sdb/av250G,target=/media2,readonly --restart=unless-stopped jellyfin/jellyfin

    需要使用绑定挂载将文件夹从主机操作系统传递到容器操作系统,而卷由 Docker 维护,可以认为更容易通过外部程序备份和控制。对于简单的设置,使用绑定挂载比使用卷更容易。如果需要,可以绑定挂载多个媒体库:

    • -mount type=bind,source=/path/to/media1,target=/media1
      --mount type=bind,source=/path/to/media2,target=/media2,readonly
      ...etc

    二、使用 Docker compose

    创建一个docker-compose.yml包含以下内容的文件。在下面的用户行中添加您想要运行 jellyfin 的 UID 和 GID,或者删除用户行以使用默认用户(root)。

    version: '3.5'
    services:
    jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    user: uid:gid
    network_mode: 'host'
    volumes:

    • /path/to/config:/config
    • /path/to/cache:/cache
    • type: bind
      source: /path/to/media
      target: /media
    • type: bind
      source: /path/to/media2
      target: /media2
      read_only: true
      restart: 'unless-stopped'
      # Optional - alternative address used for autodiscovery
      environment:
    • JELLYFIN_PublishedServerUrl=http://example.com
      # Optional - may be necessary for docker healthcheck to pass if running in host network mode
      extra_hosts:
    • 'host.docker.internal:host-gateway'

    然后在docker-compose.yml运行相同的文件夹中:

    docker compose up

    要在后台运行容器,请添加-d上述命令。

    ### kodi安装jellyfin插件访问jellyfin服务器

    参考文章:https://sspai.com/post/76951

    # Kodi搭建

    搭建并配置好Jellfin之后,接着需要安装Kodi。

    官网地址:Kodi

    下载到本地后,默认安装即可,安装结束之后勾选Run Kodi即可进入Kodi页面:

1.png


默认为英文,接着进行配置。

点击设置,进入Interface,在左边的菜单里选择 Skin 并把字体改成 Arial based,在Regional选项设置语言选项,下拉选择中文简体就会自动安装,一定要注意是先选择字体,不然中文字符会乱码:

2.png

3.png


接着点击小齿轮图标进入设置界面,选择系统菜单项,在左边的菜单里选择插件,然后打开未知来源选项:

4.png


接着回到进入设置界面,选择文件管理菜单项,在左边的菜单里选择添加源,然后在弹出的窗口里输入下面的地址:

5.png

6.png


接着安装 Jellyfin 插件,点击小齿轮图标进入设置界面,选择插件菜单项,再选择从 zip 文件安装,接着选择刚才创建的 kodi jellyfin 网络源:

7.png


在弹出的窗口里选择 repository.jellyfin.kidi.zip,等待执行完成。然后返回到上一级菜单选择从库安装,从弹出的窗口里选择 Kodi jellyfin Addons,安装即可:

7.png


接着会弹出窗口配置插件,这几步一般保持默认选项即可,最后登录Jellfin的服务器,在安装Jellfin过程设置的密码,选择要添加的媒体,进行添加。

最后,等待几秒同步,回到首页,就会看到Jelyyfin的媒体内容。

后续对媒体增删改的过程,主要是通过在Jellyfin端进行,kodi可以设置每次启动自动同步,也可以选择手动的更新。

事实上流媒体功能远不止这些,还可以设置媒体的自动刮削、中文字幕插件等等。有时间再写其他的折腾记录。

一个外观漂亮、易于使用的照片管理系统。上传、管理和共用来自本地应用程式的照片。

1、实现条件:

  • 安装Nginx (或者其他网页伺服器)
  • 安装PHP
  • MySql (这里是MariaDB)

参考这篇文章:赚钱宝2代安装lnmp

2、下载lychee相册文件:

cd /media/sda/www/

wget https://github.com/electerious/Lychee/archive/refs/tags/v3.1.6.tar.gz && tar xzv -f v3.1.6.tar.gz && mv Lychee-3.1.6/ lychee &&rm -rf  v3.1.6.tar.gz&&chown www-data:www-data -R ./lychee/

3、Nginx的lychee配置:

修改nano /etc/nginx/site-enabled/default文件。

4、启动Nginx服务

systemctl restart nginx

在浏览器中打开http://IP设置数据库等相关信息

添加权限:

chmod 777 /mnt/sda/www/html/lychee/data

chmod 777 /mnt/sda/www/html/lychee/uploads

5、完成安装

在浏览器中打开http://IP

注意:在上传照片的过程中出现了如下问题:

1、解决Request entity too large问题

参考网址:https://www.cnblogs.com/wangyuehan/p/10740810.html

根据经验判断应该是上传文件大小被限制了,检查了应用配置是10M,把它设置成100M,重启服务也不能解决问题。

原来我们的tomcat是通过nginx发现服务代理的,问题就出现nginx服务器上,原来nginx默认长传文件的大小是1M,可在nginx的配置中修改。

解决方法:

  • 1、打开nginx服务的配置文件nginx.conf, 路径一般是:/etc/nginx/nginx.conf。
  • 2、在http{}中加入client_max_body_size 100m,我这里配置的是100M。
    http {

client_max_body_size 100m;

include       mime.types;

default_type  application/octet-stream;

  • 3、重新nginx服务。

另外php.ini也限制的http上传文件的大小!参考:https://jingyan.baidu.com/article/4853e1e5bc96af1909f7269e.html

nano /etc/php/7.3/fpm/php.ini

upload_max_filesize = 2M改为upload_max_filesize = 100M

systemctl restart php7.3-fpm

2、the server responded with a status of 504 (Gateway Time-out)

解决方法:

ngixn反向代理上传文件时间较长浏览器报错Failed to load resource: the server responded with a status of 504 (Gateway Time-out)修改/etc/nginx/nginx.conf文件:

我针对某个接口设置了超时设置 proxy_send_timeout 600s;proxy_send_timeout 600s; proxy_read_timeout 600s;  三个属性,都设置为10分钟超时

http {

   client_max_body_size 50M;
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300;

}

调整PHP配置

检查并调整PHP的配置文件(通常是php.ini):

  • upload_max_filesize:允许上传的最大文件大小。
  • post_max_size:POST数据的最大大小,包括文件上传。
  • max_execution_time:脚本允许的最大执行时间(秒)。
  • max_input_time:脚本允许的最大输入时间(秒)。

例如:

upload_max_filesize = 50M
post_max_size = 50M
max_execution_time = 300
max_input_time = 300

重启php服务

systemctl restart php7.3-fpm

LNMP是指网站服务器架构:Linux系统下Nginx+PHP+MySQL。

Linux: 是一类计算机操作系统的统称,这里使用的是armbian。

Nginx: 是网页伺服器也是高性能的HTTP和反向代理伺务器。

PHP: 是一种嵌入HTML文档的脚本语言。

Mysql: 是一个数据库管理系统。

1、Nginx - 网页伺服器安装:

apt install -y nginx

2、PHP - 安装:

apt install -y php php-fpm php-mysql php-gd php-curl php-mbstring php-xml php-xmlrpc php-json php-zip php-intl php7.3-xml php7.3-common

3、修改php.ini文件

修改前先停止php服务:systemctl stop php7.3-fpm

cp /usr/lib/php/7.3/php.ini-production /etc/php/7.3/fpm/php.ini

nano /etc/php/7.3/fpm/php.ini

常见修改项目为:

修改 php.ini 通常涉及以下几个方面的常见配置:

  • 性能优化 memory_limit :
    设置PHP脚本可使用的最大内存量,如将其设置为 256M 以满足复杂脚本或处理大量数据的需求。 
  • max_execution_time :
    规定PHP脚本的最大执行时间,单位为秒。若脚本执行时间可能较长,可将其调大,如设置为 60 秒。 
  • opcache.enable :
    开启OPcache,可提高PHP脚本的执行速度。将其设置为 1 表示开启。
  • 错误处理与日志 display_errors :
    设置是否在页面上显示错误信息。开发环境可设为 On ,生产环境建议设为 Off ,以避免暴露敏感信息。 
  • error_reporting :
    指定报告哪些类型的错误。开发时可设为 E_ALL ,生产环境则根据实际情况选择,如 E_ERROR | E_WARNING | E_PARSE 。 
  • log_errors :
    设为 On 时,PHP会将错误信息记录到日志文件中,便于排查问题。
  • 安全设置 disable_functions :
    列出禁止PHP执行的函数,可防止一些危险操作,如 system 、 exec 等函数,根据安全需求进行配置。 
  • session.cookie_secure :
    设为 1 时,仅通过HTTPS连接发送会话Cookie,提高会话安全性。
  • 数据库连接 pdo_mysql.default_socket :
    指定PDO连接MySQL时使用的套接字文件路径,确保能正确连接到数据库。
  • 文件上传 upload_max_filesize :限制上传文件的最大大小,如设为 20M 。 
  • post_max_size :
    限制通过POST方法提交的数据最大大小,一般应大于 upload_max_filesize 。

修改完成后重新启动php服务:systemctl restart php7.3-fpm

4、編寫nginx設定檔對PHP支持

  • vi /etc/nginx/sites-enabled/default

请输入图片描述

测试Nginx设置是否正确:

  • nginx -t
  • 重启nginx服务器
    service nginx restart
  • 添加PHP测试页面:
    echo "<?php phpinfo(); ?>" > /mnt/sda/www/html/info.php

5、Mysql - 数据库管理系统安装:

出于硬件限制,在armbian的系统内,优先使用MariaDB数据库管理系统。

MariaDB是MySQL关联式资料库管理系统的一个复刻

出于硬件限制,在armbian的系统内,优先使用MariaDB数据库管理系统。

MariaDB是MySQL关联式资料库管理系统的一个复刻。

  • 安装数据库:

apt install -y mariadb-server

mysql -v查询版本号

  • 执行数据库配置向导:
mysql_secure_installation

image.png

  • 账户设置
    直接输入mysql直接登录
    mysql
    -查询用户表
    select User,host from mysql.user;
  • 使用mysql数据库
    use mysql;
    GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

添加一个可以从任何地址登录的root账户密码建议复杂一点

mysql用户想连到mysql,需要使用grant命令给用户授权,有一个简单的办法,可以使用grant ALL privileges 命令给用户授予所有权限, 你想myuser使用mypassword从任何主机连接到mysql服务器的话。

主要使用:GRANT ALL PRIVILEGES ON . to 'root'@'%'; 命令授权.

  • grant给root使用root密码从任何主机连接到mysql服务器。
    GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  • 或者
    GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'root';
    FLUSH PRIVILEGES;
  • grant给root用户授予操作mysql所有数据库的所有权限

5、自动挂载u盘,把typecho安装到u盘
修改/etc/rc.local文件,并给它可执行权限。
6、nginx修改web目录到u盘目录

nano /etc/nginx/sites-enabled/default,打开nginx配置文件

修改server块为:

root /mnt/sda/web/typecho;

7、重新加载Nginx配置以使更改生效
通常使用以下命令:sudo nginx -s reload
或者重启Nginx服务:sudo systemctl reload nginx
或者在不同的系统中:sudo service nginx reload

刷固件:直接插US线刷就行,刷失败的换线、换usb口,都是老生常谈了。

(一句话概括线刷:usb双公头线连接电脑和赚钱宝,按住reset的同时插电,电脑上USB_Burning_Tool提示连接成功就可以松开reset,软件左上角导入固件开始刷入)

刷完后,如果需要用apt,必要准备事项:(如果只跑甜糖就不用关心这些了)

1、SSH登录,初始root密码为1234,进去后请按照提示修改密码。

2、自动调整根目录空间大小:resize2fs /dev/data

3、设定+0800时区

timedatectl set-timezone "Asia/Hong_Kong"

timedatectl set-timezone "Asia/Shanghai

复制代码

手动设定现在日期与时间

timedatectl set-time "2021-07-14 14:38:40"

复制代码

4、安装ntp服务,自动校时

apt install -y ntp

复制代码

查看ntp服务状态

systemctl status ntp

复制代码

显示active (running)代表已启用及执行中

5、(可选)换源:nano /etc/apt/sources.list,把原有的前面全都加上#号,然后添加以下内容:

deb http://mirrors.ustc.edu.cn/debian buster main contrib non-free

deb http://mirrors.ustc.edu.cn/debian buster-updates main contrib non-free

deb http://mirrors.ustc.edu.cn/debian buster-backports main contrib non-free

deb http://mirrors.ustc.edu.cn/debian-security/ buster/updates main contrib non-free

复制代码

6、sudo apt update && sudo apt install armbian-config

7、apt-get upgrade

更新一下系统,必要的。因为这个包制作过程中遇到些小困难,只能用很古老的内核版本,不更新的话装软件成问题。

8、服务器改名

更改机器名:

第一步: 修改/etc/hostname

/etc/hostname中存放的是主机名,hostname文件的一个例子:

root@itcast:~# vim /etc/hostname

第二步:修改/etc/hosts配置文件(可选)

/etc/hosts存放的是域名与ip的对应关系,域名与主机名没有任何关系,你可以为任何一个IP指定任意一个名字。

root@itcast:~# vim /etc/hosts

9、设置临时代理科学上网

代理端口为7890,那么应该设置为

export http_proxy="http://121.17.174.121:17890"

export https_proxy="http://121.17.174.121:17890"

如果是要停用http代理需要使用:

unset http_proxy

unset https_proxy

10、更新软件包列表

首先,我们需要更新软件包列表,以确保我们使用的是最新的软件版本。在终端中输入以下命令:sudo apt update

apt-get upgrade

11、安装lrzsz

apt install lrzsz