只维护2个版本一个x86 一个arm,取消精简版.统一都带图文视频(将ffmpeg打包到容器

This commit is contained in:
jianzhichu
2025-12-01 01:32:38 +08:00
parent 8744d280c7
commit c09b30de63
12 changed files with 28 additions and 81 deletions
-1
View File
@@ -18,5 +18,4 @@ RUN ffmpeg -version
COPY . . COPY . .
ENV ASPNETCORE_URLS=http://*:10101 ENV ASPNETCORE_URLS=http://*:10101
ENV TZ=Asia/Shanghai ENV TZ=Asia/Shanghai
ENV DOWN_IMGVIDEO=1
ENTRYPOINT ["dotnet", "dy.net.dll"] ENTRYPOINT ["dotnet", "dy.net.dll"]
+9 -5
View File
@@ -1,13 +1,17 @@
#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. # 使用 Ubuntu 20.04 的 .NET 6 运行时镜像
FROM mcr.microsoft.com/dotnet/aspnet:6.0-focal AS base
FROM mcr.microsoft.com/dotnet/aspnet:6.0-focal-arm64v8 AS base
WORKDIR /app WORKDIR /app
EXPOSE 10101 EXPOSE 10101
# 安装 ffmpeg (Ubuntu 的 universe 仓库包含 ffmpeg)
RUN apt-get update && \
apt-get install -y --no-install-recommends ffmpeg && \
rm -rf /var/lib/apt/lists/*
RUN ffmpeg -version
COPY . . COPY . .
ENV ASPNETCORE_URLS=http://*:10101 ENV ASPNETCORE_URLS=http://*:10101
ENV TZ=Asia/Shanghai ENV TZ=Asia/Shanghai
ENV DOWN_IMGVIDEO=0
ENTRYPOINT ["dotnet", "dy.net.dll"] ENTRYPOINT ["dotnet", "dy.net.dll"]
-18
View File
@@ -1,18 +0,0 @@
# 使用 Ubuntu 20.04 的 .NET 6 运行时镜像
FROM mcr.microsoft.com/dotnet/aspnet:6.0-focal AS base
WORKDIR /app
EXPOSE 10101
# 安装 ffmpeg (Ubuntu 的 universe 仓库包含 ffmpeg)
RUN apt-get update && \
apt-get install -y --no-install-recommends ffmpeg && \
rm -rf /var/lib/apt/lists/*
RUN ffmpeg -version
COPY . .
ENV ASPNETCORE_URLS=http://*:10101
ENV TZ=Asia/Shanghai
ENV DOWN_IMGVIDEO=1
ENTRYPOINT ["dotnet", "dy.net.dll"]
-13
View File
@@ -1,13 +0,0 @@
#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 10101
COPY . .
ENV TZ=Asia/Shanghai
ENV DOWN_IMGVIDEO=0
ENV ASPNETCORE_URLS=http://*:10101
ENTRYPOINT ["dotnet", "dy.net.dll"]
+1 -9
View File
@@ -25,7 +25,6 @@ namespace dy.net
/// <summary> /// <summary>
/// 打包时注意,如果是false,前端不允许修改开启下载图片和视频的选项 /// 打包时注意,如果是false,前端不允许修改开启下载图片和视频的选项
/// </summary> /// </summary>
private static bool downImageVideo = false;
public static void Main(string[] args) public static void Main(string[] args)
{ {
//Console.ForegroundColor = ConsoleColor.Yellow; //Console.ForegroundColor = ConsoleColor.Yellow;
@@ -36,13 +35,7 @@ namespace dy.net
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);
//from docker yaml file 环境变量 或者 dockerfile 或appsettings.json //from docker yaml file 环境变量 或者 dockerfile 或appsettings.json
DefaultListenUrl = builder.Configuration.GetValue<string>(SystemStaticUtil.ASPNETCORE_URLS) ?? DefaultListenUrl; DefaultListenUrl = builder.Configuration.GetValue<string>(SystemStaticUtil.ASPNETCORE_URLS) ?? DefaultListenUrl;
var downImgConfig = builder.Configuration.GetValue<string>(SystemStaticUtil.DOWN_IMAGE_VIDEO_ENABLE);
//Console.WriteLine("DOWN_IMGVIDEO=" + downImgConfig);
if (!string.IsNullOrEmpty(downImgConfig))
{
downImageVideo = downImgConfig.ToLower() == "1" ;
}
var isDevelopment = builder.Environment.IsDevelopment(); var isDevelopment = builder.Environment.IsDevelopment();
// 配置主机 // 配置主机
@@ -53,7 +46,6 @@ namespace dy.net
// 构建应用 // 构建应用
var app = builder.Build(); var app = builder.Build();
if (downImageVideo)
Log.Debug("ffmpeg is on"); Log.Debug("ffmpeg is on");
// 配置中间件 // 配置中间件
@@ -206,7 +198,7 @@ ____/ _|_)_____/ _| _| \_|\____|
// 初始化配置 // 初始化配置
var commonService = services.GetRequiredService<DouyinCommonService>(); var commonService = services.GetRequiredService<DouyinCommonService>();
var config = commonService.InitConfig(downImageVideo); var config = commonService.InitConfig();
// 更新视频类型--兼容老版本 // 更新视频类型--兼容老版本
commonService.UpdateCollectViedoType(); commonService.UpdateCollectViedoType();
@@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<_PublishTargetUrl>E:\code\dysync\bin\Release\net6.0\publish\</_PublishTargetUrl> <_PublishTargetUrl>E:\code\dysync\bin\Release\net6.0\publish\</_PublishTargetUrl>
<History>True|2025-11-30T17:11:11.0210582Z||;True|2025-12-01T01:04:04.3307782+08:00||;True|2025-12-01T00:55:49.8018864+08:00||;True|2025-12-01T00:27:25.1323561+08:00||;True|2025-11-30T23:58:20.7284116+08:00||;True|2025-11-30T23:57:58.3027622+08:00||;True|2025-11-30T23:57:43.0829614+08:00||;False|2025-11-30T23:57:33.5606716+08:00||;True|2025-11-30T23:54:29.6203368+08:00||;True|2025-11-30T23:54:27.5383120+08:00||;False|2025-11-30T23:54:17.0823982+08:00||;True|2025-11-30T22:41:11.4538820+08:00||;True|2025-11-30T22:38:19.7064566+08:00||;True|2025-11-30T22:37:35.2889186+08:00||;True|2025-11-30T21:42:31.1408314+08:00||;True|2025-11-30T21:42:19.5385333+08:00||;False|2025-11-30T21:42:13.3290237+08:00||;True|2025-11-30T21:33:28.0806806+08:00||;True|2025-11-30T21:16:56.7088027+08:00||;False|2025-11-30T21:16:46.1444944+08:00||;True|2025-11-30T20:21:24.4059664+08:00||;False|2025-11-30T20:21:17.6006098+08:00||;True|2025-11-30T20:20:08.2030141+08:00||;False|2025-11-30T20:16:12.3608968+08:00||;True|2025-11-30T20:15:35.6048313+08:00||;True|2025-11-30T19:45:18.7229552+08:00||;True|2025-11-30T19:45:08.6083368+08:00||;False|2025-11-30T19:44:54.7824905+08:00||;True|2025-11-30T19:44:17.0179491+08:00||;True|2025-11-30T19:44:06.7073484+08:00||;False|2025-11-30T19:43:58.2896556+08:00||;True|2025-11-30T19:42:08.2261927+08:00||;True|2025-11-30T19:28:15.7115077+08:00||;False|2025-11-30T19:28:10.2280725+08:00||;True|2025-11-30T19:23:31.7859158+08:00||;True|2025-11-30T19:23:20.7788277+08:00||;True|2025-11-30T19:17:11.8583296+08:00||;False|2025-11-30T19:10:41.8369574+08:00||;True|2025-11-30T19:02:08.8184758+08:00||;False|2025-11-30T19:01:59.4711045+08:00||;True|2025-11-30T18:16:01.8372242+08:00||;True|2025-11-30T14:50:31.9356543+08:00||;True|2025-11-30T14:48:27.1833064+08:00||;True|2025-11-30T02:06:06.6099669+08:00||;True|2025-11-30T01:49:46.4358206+08:00||;False|2025-11-30T01:49:34.4884036+08:00||;True|2025-11-30T01:43:41.1028753+08:00||;True|2025-11-30T01:38:18.2856609+08:00||;True|2025-11-30T01:23:02.4378259+08:00||;True|2025-11-30T01:08:29.4041159+08:00||;True|2025-11-30T00:56:33.4172007+08:00||;False|2025-11-30T00:56:21.2777389+08:00||;True|2025-11-27T13:37:08.6884390+08:00||;False|2025-11-27T13:36:54.2595622+08:00||;True|2025-11-27T11:03:33.8401644+08:00||;False|2025-11-27T11:02:48.8942827+08:00||;True|2025-11-26T23:48:02.3957186+08:00||;True|2025-11-26T23:43:06.8154188+08:00||;False|2025-11-26T23:42:05.9191485+08:00||;True|2025-11-26T23:30:11.1295861+08:00||;True|2025-11-26T00:00:42.1507258+08:00||;True|2025-11-26T00:00:17.0107229+08:00||;True|2025-11-25T23:42:07.4349629+08:00||;False|2025-11-25T23:41:56.9328658+08:00||;True|2025-11-25T23:19:32.5262917+08:00||;True|2025-11-25T14:08:53.3850967+08:00||;True|2025-11-24T23:53:54.4283003+08:00||;True|2025-11-24T23:41:15.8248332+08:00||;True|2025-11-24T23:33:57.1844427+08:00||;True|2025-11-24T23:31:54.9228836+08:00||;True|2025-11-24T23:24:15.8681502+08:00||;True|2025-11-24T23:22:57.9046229+08:00||;True|2025-11-24T23:18:04.1131647+08:00||;True|2025-11-24T22:47:54.1336448+08:00||;True|2025-11-24T22:47:18.3613833+08:00||;True|2025-11-24T08:17:50.3994607+08:00||;True|2025-11-24T08:07:00.9951205+08:00||;True|2025-11-23T23:34:50.0030826+08:00||;True|2025-11-23T23:32:36.7452616+08:00||;True|2025-11-22T23:18:56.3202345+08:00||;True|2025-11-22T22:52:51.7203302+08:00||;True|2025-11-22T22:52:42.9620946+08:00||;True|2025-11-22T22:52:09.8257640+08:00||;True|2025-11-22T22:39:31.5894141+08:00||;True|2025-11-22T22:31:11.0704815+08:00||;True|2025-11-22T22:20:36.4579131+08:00||;True|2025-11-22T22:19:10.2281364+08:00||;True|2025-11-22T19:34:45.9336901+08:00||;True|2025-11-12T23:06:38.7834109+08:00||;False|2025-11-12T23:01:02.2269478+08:00||;True|2025-10-22T22:08:11.6423148+08:00||;True|2025-10-22T21:54:24.7180547+08:00||;True|2025-10-22T21:40:03.5194315+08:00||;True|2025-10-22T21:28:28.8962766+08:00||;True|2025-10-22T21:22:47.9631689+08:00||;True|2025-10-22T21:18:24.5274318+08:00||;True|2025-10-22T21:14:51.6386326+08:00||;False|2025-10-22T21:14:07.6282769+08:00||;True|2025-10-22T21:03:48.9892860+08:00||;True|2025-10-22T21:00:56.3617243+08:00||;</History> <History>True|2025-11-30T17:29:59.6975567Z||;True|2025-12-01T01:29:45.1898652+08:00||;False|2025-12-01T01:29:33.1787721+08:00||;True|2025-12-01T01:27:33.1297605+08:00||;True|2025-12-01T01:27:27.3976862+08:00||;False|2025-12-01T01:27:20.5193052+08:00||;True|2025-12-01T01:11:11.0210582+08:00||;True|2025-12-01T01:04:04.3307782+08:00||;True|2025-12-01T00:55:49.8018864+08:00||;True|2025-12-01T00:27:25.1323561+08:00||;True|2025-11-30T23:58:20.7284116+08:00||;True|2025-11-30T23:57:58.3027622+08:00||;True|2025-11-30T23:57:43.0829614+08:00||;False|2025-11-30T23:57:33.5606716+08:00||;True|2025-11-30T23:54:29.6203368+08:00||;True|2025-11-30T23:54:27.5383120+08:00||;False|2025-11-30T23:54:17.0823982+08:00||;True|2025-11-30T22:41:11.4538820+08:00||;True|2025-11-30T22:38:19.7064566+08:00||;True|2025-11-30T22:37:35.2889186+08:00||;True|2025-11-30T21:42:31.1408314+08:00||;True|2025-11-30T21:42:19.5385333+08:00||;False|2025-11-30T21:42:13.3290237+08:00||;True|2025-11-30T21:33:28.0806806+08:00||;True|2025-11-30T21:16:56.7088027+08:00||;False|2025-11-30T21:16:46.1444944+08:00||;True|2025-11-30T20:21:24.4059664+08:00||;False|2025-11-30T20:21:17.6006098+08:00||;True|2025-11-30T20:20:08.2030141+08:00||;False|2025-11-30T20:16:12.3608968+08:00||;True|2025-11-30T20:15:35.6048313+08:00||;True|2025-11-30T19:45:18.7229552+08:00||;True|2025-11-30T19:45:08.6083368+08:00||;False|2025-11-30T19:44:54.7824905+08:00||;True|2025-11-30T19:44:17.0179491+08:00||;True|2025-11-30T19:44:06.7073484+08:00||;False|2025-11-30T19:43:58.2896556+08:00||;True|2025-11-30T19:42:08.2261927+08:00||;True|2025-11-30T19:28:15.7115077+08:00||;False|2025-11-30T19:28:10.2280725+08:00||;True|2025-11-30T19:23:31.7859158+08:00||;True|2025-11-30T19:23:20.7788277+08:00||;True|2025-11-30T19:17:11.8583296+08:00||;False|2025-11-30T19:10:41.8369574+08:00||;True|2025-11-30T19:02:08.8184758+08:00||;False|2025-11-30T19:01:59.4711045+08:00||;True|2025-11-30T18:16:01.8372242+08:00||;True|2025-11-30T14:50:31.9356543+08:00||;True|2025-11-30T14:48:27.1833064+08:00||;True|2025-11-30T02:06:06.6099669+08:00||;True|2025-11-30T01:49:46.4358206+08:00||;False|2025-11-30T01:49:34.4884036+08:00||;True|2025-11-30T01:43:41.1028753+08:00||;True|2025-11-30T01:38:18.2856609+08:00||;True|2025-11-30T01:23:02.4378259+08:00||;True|2025-11-30T01:08:29.4041159+08:00||;True|2025-11-30T00:56:33.4172007+08:00||;False|2025-11-30T00:56:21.2777389+08:00||;True|2025-11-27T13:37:08.6884390+08:00||;False|2025-11-27T13:36:54.2595622+08:00||;True|2025-11-27T11:03:33.8401644+08:00||;False|2025-11-27T11:02:48.8942827+08:00||;True|2025-11-26T23:48:02.3957186+08:00||;True|2025-11-26T23:43:06.8154188+08:00||;False|2025-11-26T23:42:05.9191485+08:00||;True|2025-11-26T23:30:11.1295861+08:00||;True|2025-11-26T00:00:42.1507258+08:00||;True|2025-11-26T00:00:17.0107229+08:00||;True|2025-11-25T23:42:07.4349629+08:00||;False|2025-11-25T23:41:56.9328658+08:00||;True|2025-11-25T23:19:32.5262917+08:00||;True|2025-11-25T14:08:53.3850967+08:00||;True|2025-11-24T23:53:54.4283003+08:00||;True|2025-11-24T23:41:15.8248332+08:00||;True|2025-11-24T23:33:57.1844427+08:00||;True|2025-11-24T23:31:54.9228836+08:00||;True|2025-11-24T23:24:15.8681502+08:00||;True|2025-11-24T23:22:57.9046229+08:00||;True|2025-11-24T23:18:04.1131647+08:00||;True|2025-11-24T22:47:54.1336448+08:00||;True|2025-11-24T22:47:18.3613833+08:00||;True|2025-11-24T08:17:50.3994607+08:00||;True|2025-11-24T08:07:00.9951205+08:00||;True|2025-11-23T23:34:50.0030826+08:00||;True|2025-11-23T23:32:36.7452616+08:00||;True|2025-11-22T23:18:56.3202345+08:00||;True|2025-11-22T22:52:51.7203302+08:00||;True|2025-11-22T22:52:42.9620946+08:00||;True|2025-11-22T22:52:09.8257640+08:00||;True|2025-11-22T22:39:31.5894141+08:00||;True|2025-11-22T22:31:11.0704815+08:00||;True|2025-11-22T22:20:36.4579131+08:00||;True|2025-11-22T22:19:10.2281364+08:00||;True|2025-11-22T19:34:45.9336901+08:00||;True|2025-11-12T23:06:38.7834109+08:00||;False|2025-11-12T23:01:02.2269478+08:00||;True|2025-10-22T22:08:11.6423148+08:00||;True|2025-10-22T21:54:24.7180547+08:00||;True|2025-10-22T21:40:03.5194315+08:00||;True|2025-10-22T21:28:28.8962766+08:00||;</History>
<LastFailureDetails /> <LastFailureDetails />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
+4 -4
View File
@@ -91,8 +91,8 @@ Cookie 及 `sec_user_id` 是同步功能的核心,需严格按步骤获取,
| 镜像标签 | 架构 | | 镜像标签 | 架构 |
| ----------------- | -------------- | | ----------------- | -------------- |
| `beta_1.6.0` | x86_64 (amd64) | | `beta_1.6.2` | x86_64 (amd64) |
| `arm_1.6.0` | ARM64 | | `arm_1.6.2` | ARM64 |
### 最新镜像查看 ### 最新镜像查看
[镜像列表](http://nas.synology2023.online:10108/api/docker/dysync/1) [镜像列表](http://nas.synology2023.online:10108/api/docker/dysync/1)
@@ -110,7 +110,7 @@ docker run -d --restart=always \
-v /opt/dysync/uper:/app/uper \ -v /opt/dysync/uper:/app/uper \
-p 10103:10101 \ -p 10103:10101 \
--name dysync2025 \ --name dysync2025 \
ccr.ccs.tencentyun.com/jianzhichu/dysync:beta_1.6.0 ccr.ccs.tencentyun.com/jianzhichu/dysync:beta_1.6.2
# 注意:-p 后面的容器端口,可以用环境变量类似:ASPNETCORE_URLS = http://+:10108 指定 # 注意:-p 后面的容器端口,可以用环境变量类似:ASPNETCORE_URLS = http://+:10108 指定
``` ```
@@ -124,7 +124,7 @@ version: '3.8'
services: services:
dysync: dysync:
image: ccr.ccs.tencentyun.com/jianzhichu/dysync:beta_1.6.0 image: ccr.ccs.tencentyun.com/jianzhichu/dysync:beta_1.6.2
container_name: dysync2025 # 容器名称 container_name: dysync2025 # 容器名称
restart: unless-stopped # 始终重启容器,除非容器被手动停止或Docker服务停止 restart: unless-stopped # 始终重启容器,除非容器被手动停止或Docker服务停止
ports: ports:
-1
View File
@@ -1,6 +1,5 @@
{ {
"dbconn": "", "dbconn": "",
"dbtype": "Sqlite", "dbtype": "Sqlite",
"DOWN_IMGVIDEO": "1",
"tagName": "beta_1.6.2" "tagName": "beta_1.6.2"
} }
-6
View File
@@ -90,12 +90,6 @@
<None Update="Dockerfile-arm"> <None Update="Dockerfile-arm">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None> </None>
<None Update="Dockerfile-arm-img">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Dockerfile-dev">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Dockerfile"> <None Update="Dockerfile">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None> </None>
+1 -1
View File
@@ -67,7 +67,7 @@ namespace dy.net.model
public bool ImageViedoSaveAlone { get; set; } public bool ImageViedoSaveAlone { get; set; }
[SugarColumn(IsIgnore = true)] [SugarColumn(IsIgnore = true)]
public bool DownImageVideoFromEnv { get; set; } public bool DownImageVideoFromEnv => DownImageVideo;
/// <summary> /// <summary>
/// 自动去重-逻辑是遇到相同ID的视频直接跳过 /// 自动去重-逻辑是遇到相同ID的视频直接跳过
+4 -14
View File
@@ -19,28 +19,18 @@ namespace dy.net.service
public AppConfig GetConfig() public AppConfig GetConfig()
{ {
var config = sqlSugarClient.Queryable<AppConfig>().First(); return sqlSugarClient.Queryable<AppConfig>().First();
var downImgConfig = Appsettings.Get(SystemStaticUtil.DOWN_IMAGE_VIDEO_ENABLE);
if (config != null && !string.IsNullOrEmpty(downImgConfig))
{
downImgConfig = downImgConfig.ToLower();
config.DownImageVideoFromEnv = downImgConfig == "1";
}
return config;
} }
/// <summary> /// <summary>
/// 初始化并返回配置 /// 初始化并返回配置
/// </summary> /// </summary>
/// <param name="downLoadImage"></param> /// <param name="downLoadImage"></param>
/// <returns></returns> /// <returns></returns>
public AppConfig InitConfig(bool downLoadImage) public AppConfig InitConfig()
{ {
var conf = GetConfig(); var conf = GetConfig();
if (conf != null) if (conf != null)
{ {
conf.DownImageVideo = downLoadImage;
sqlSugarClient.Updateable(conf).ExecuteCommand();
return conf; return conf;
} }
else else
@@ -53,14 +43,14 @@ namespace dy.net.service
LogKeepDay = 10, LogKeepDay = 10,
UperSaveTogether = false,//博主视频:true-->每个视频单独一个文件夹 false-->所有视频放在同一个文件夹 UperSaveTogether = false,//博主视频:true-->每个视频单独一个文件夹 false-->所有视频放在同一个文件夹
UperUseViedoTitle = false,//博主视频:true-->使用视频标题作为文件名 false-->使用视频id作为文件名 UperUseViedoTitle = false,//博主视频:true-->使用视频标题作为文件名 false-->使用视频id作为文件名
DownImageVideo = downLoadImage, DownImageVideo = false,//默认不下载图文视频
DownMp3 = false, DownMp3 = false,
DownImage = false, DownImage = false,
ImageViedoSaveAlone = true, ImageViedoSaveAlone = true,
FollowedTitleTemplate = "", FollowedTitleTemplate = "",
FullFollowedTitleTemplate = "", FullFollowedTitleTemplate = "",
FollowedTitleSeparator = "", FollowedTitleSeparator = "",
AutoDistinct=true,//默认开启 AutoDistinct = true//默认开启
}; };
sqlSugarClient.Insertable(config).ExecuteCommand(); sqlSugarClient.Insertable(config).ExecuteCommand();
return config; return config;
+1 -1
View File
@@ -2,7 +2,7 @@
{ {
public class SystemStaticUtil public class SystemStaticUtil
{ {
public static string DOWN_IMAGE_VIDEO_ENABLE="DOWN_IMGVIDEO"; //public static string DOWN_IMAGE_VIDEO_ENABLE="DOWN_IMGVIDEO";
public static string ASPNETCORE_URLS = "ASPNETCORE_URLS"; public static string ASPNETCORE_URLS = "ASPNETCORE_URLS";