From 9de49609328fee358df638db6f9ba1d8339315cb Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 19 Nov 2024 22:52:48 -0300 Subject: [PATCH] 0.9.3.1: Update Dockerfile and add compose file --- Dockerfile | 6 +++--- config/config.example.yml | 4 +--- docker-compose.yml | 12 ++++++++++++ src/utils.cr | 2 +- 4 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile index e848066..3e06b49 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Based on https://github.com/iv-org/invidious/blob/master/docker/Dockerfile -FROM crystallang/crystal:1.13.2-alpine AS builder +FROM crystallang/crystal:1.14.0-alpine AS builder RUN apk add --no-cache sqlite-static yaml-static @@ -19,8 +19,8 @@ RUN crystal build ./src/file-uploader-crystal.cr \ --release \ --static --warnings all -RUN apk add --no-cache tini -FROM alpine:3.18 +FROM alpine:3.20 +RUN apk add --no-cache tini ffmpeg WORKDIR /file-uploader-crystal RUN addgroup -g 1000 -S file-uploader-crystal && \ adduser -u 1000 -S file-uploader-crystal -G file-uploader-crystal diff --git a/config/config.example.yml b/config/config.example.yml index 0a57fa0..7b3ee68 100644 --- a/config/config.example.yml +++ b/config/config.example.yml @@ -3,7 +3,6 @@ files: "./files" thumbnails: "./thumbnails" generateThumbnails: true db: "./db.sqlite3" -dbTableName: "files" adminEnabled: true adminApiKey: "asd" fileameLength: 3 @@ -18,13 +17,12 @@ torExitNodesFile: "./torexitnodes.txt" torMessage: "TOR IS BLOCKED!" # Set this to 0 to disable rate limiting filesPerIP: 2 -ipTableName: "ips" rateLimitPeriod: 20 rateLimitMessage: "" # If you define the unix socket, it will only listen on the socket and not the port. #unix_socket: "/tmp/file-uploader.sock" # In days -deleteFilesAfter: 1 +deleteFilesAfter: 7 # In seconds deleteFilesCheck: 1600 deleteKeyLength: 4 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..4fc2b12 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,12 @@ +services: + file-uploader: + image: git.nadeko.net/fijxu/file-uploader-crystal:latest + # If you want to use a custom config file, you can mount it here. + volumes: + # - ./config/config.yml:/file-uploader-crystal/config/config.yml + - ./files:/file-uploader-crystal/files + - ./thumbnails:/file-uploader-crystal/thumbnails + - ./db.sqlite3:/file-uploader-crystal/db.sqlite3 + - ./torexitnodes.txt:/file-uploader-crystal/torexitnodes.txt + ports: + - 127.0.0.1:8080:8080 diff --git a/src/utils.cr b/src/utils.cr index 41ddfbc..cbd6fb9 100644 --- a/src/utils.cr +++ b/src/utils.cr @@ -222,7 +222,7 @@ module Utils begin File.open(CONFIG.torExitNodesFile, "w") { |output| IO.copy(res.body_io, output) } rescue ex - LOGGER.error "Failed to write to file: #{ex.message}" + LOGGER.error "Failed to save exit nodes list: #{ex.message}" end else LOGGER.error "Failed to retrieve exit nodes list. Status Code: #{res.status_code}"