Docker部署Komga私人漫画库

Github Document 1 2 3 4 #komga支持的格式 Comic Book archives: cbz, zip, cbr, rar PDF: pdf Epub: epub 通过Docker安装 1 2 3 mkdir -p /opt/komga && cd /opt/komga nano docker-compose.yaml mkdir -p /home/manga/{content,config} 重启后操作 1 2 cd /home/manga/config/lucene sudo rm -rf * Docker-Compose 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 services: komga: image: gotson/komga container_name: komga volumes: - type: bind source: /home/manga/config target: /config - type: bind source: /home/manga/content target: /data ports: - 25600:25600 user: "1000:1000" environment: - TZ=Asia/Shanghai - JAVA_TOOL_OPTIONS=-Xmx8g restart: unless-stopped 1 docker compose up -d 更新 1 2 3 docker compose pull komga docker compose up -d komga docker image prune Docker CLI 1 2 3 4 5 6 7 8 docker create \ --name=komga \ --user 1000:1000 \ -p 25600:25600 \ --mount type=bind,source=/home/manga/config,target=/config \ --mount type=bind,source=/home/manga/content,target=/data \ --restart unless-stopped \ gotson/komga 1 docker start komga 更新 1 2 3 4 5 docker pull gotson/komga docker stop komga docker rm komga docker start komga docker image prune 通过jar文件安装 1 2 3 4 5 6 7 mkdir -p /opt/komga && \ download_url=$(curl -s https://api.github.com/repos/gotson/komga/releases/latest | jq -r '.assets[] | select(.name | test("komga-.*.jar")) | .browser_download_url') && \ curl -L $download_url -o /opt/komga/komga.jar && \ chmod +x /opt/komga/komga.jar sudo apt install -y openjdk-21-jdk cd /opt/komga && java -jar /opt/komga/komga.jar

五月 15, 2025 · 1 分钟 · 253 字 · Beiyuan

Docker部署Halo2个人Blog

Github Documents 1 2 3 # 创建文件夹及yaml文件 mkdir /opt/blog && cd /opt/blog nano docker-compose.yaml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 services: halo: image: halohub/halo:2.20.18 restart: on-failure:3 depends_on: halodb: condition: service_healthy networks: halo_network: volumes: - ./halo2:/root/.halo2 ports: - "127.0.0.1:8090:8090"#这里的写法就不开放外网访问,需要提前准备好反代域名,也可以删除127.0.0.1 healthcheck: test: ["CMD", "curl", "-f", "http://localhost:1080/actuator/health/readiness"] interval: 30s timeout: 5s retries: 5 start_period: 30s command: - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo - --spring.r2dbc.username=halo # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - --spring.r2dbc.password=openpostgresqll - --spring.sql.init.platform=postgresql # 外部访问地址,请根据实际需要修改 - --halo.external-url=https://blogs.fangxi.top/ halodb: image: postgres:15.4 restart: on-failure:3 networks: halo_network: volumes: - ./db:/var/lib/postgresql/data healthcheck: test: [ "CMD", "pg_isready" ] interval: 10s timeout: 5s retries: 5 environment: - POSTGRES_PASSWORD=openpostgresqll - POSTGRES_USER=halo - POSTGRES_DB=halo - PGUSER=halo networks: halo_network: 此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 halodb 服务中添加端口映射,PostgreSQL 的端口为 5432。 1 docker-compose up -d 实时查看日志: ...

五月 15, 2025 · 2 分钟 · 693 字 · Beiyuan

Docker部署bitmagnet磁力搜索工具

Github 这个东西很消耗内存,服务器内存有多少占多少 1 2 mkdir /opt/bit && cd /opt/bit nano docker-compose.yaml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 services: bitmagnet: image: ghcr.io/bitmagnet-io/bitmagnet:latest container_name: bitmagnet ports: # API and WebUI port: - "3333:3333" # BitTorrent ports: - "3334:3334/tcp" - "3334:3334/udp" restart: unless-stopped environment: - POSTGRES_HOST=postgres - POSTGRES_PASSWORD=postgres # - TMDB_API_KEY=your_api_key volumes: - ./config:/root/.config/bitmagnet command: - worker - run - --keys=http_server - --keys=queue_server # disable the next line to run without DHT crawler - --keys=dht_crawler depends_on: postgres: condition: service_healthy postgres: image: postgres:16-alpine container_name: bitmagnet-postgres volumes: - ./data/postgres:/var/lib/postgresql/data # ports: # - "5432:5432" Expose this port if you'd like to dig around in the database restart: unless-stopped environment: - POSTGRES_PASSWORD=postgres - POSTGRES_DB=bitmagnet - PGUSER=postgres shm_size: 1g healthcheck: test: - CMD-SHELL - pg_isready start_period: 20s interval: 10s 1 docker compose up -d 更新 1 2 3 docker compose down bitmagnet docker pull ghcr.io/bitmagnet-io/bitmagnet:latest docker compose up -d bitmagnet

五月 15, 2025 · 1 分钟 · 205 字 · Beiyuan

Docker部署小姐姐订阅服务

Github Docker 新版本设置了激活码修改了镜像名,安装完后还需要安装下面的激活,激活只能在每周四22-24点 Docker-compose 1 2 mkdir -p /opt/autolady && cd /opt/autolady && nano docker-compose.yaml mkdir -p /opt/byte-muse-license && cd /opt/byte-muse-license && nano docker-compose.yaml Docker-compose 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 services: byte-muse: image: envyafish/byte-muse:latest container_name: byte-muse restart: always networks: - bridge ports: - "8042:80" volumes: - ./data:/data networks: bridge: driver: bridge 1 docker compose up -d Docker-CLI 1 2 3 4 5 6 7 docker run -d --name='byte-muse' --net='bridge' -p 8043:80 -v ./data:/data /envyafish/byte-muse:latest 激活 1 2 3 4 5 6 7 services: byte-muse-license: container_name: byte-muse-license image: envyafish/byte-muse-license:latest network_mode: bridge ports: - 5000:5000/tcp 获取机器码激活 1 docker logs byte-muse

五月 15, 2025 · 1 分钟 · 159 字 · Beiyuan

Docker部署随机图片API

Github 1 2 mkdir /opt/api && cd /opt/api nano docker-compose.yaml 1 2 3 4 5 6 7 8 9 10 11 version: '3.9' services: random-api: image: 'neixin/random-pic-api' volumes: # 竖屏图片 - './portrait:/var/www/html/portrait' # 横屏图片 - './landscape:/var/www/html/landscape' ports: - '8080:80' 1 docker compose up -d 转换脚本 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 from PIL import Image import os # 检查图片方向 def get_image_orientation(image_path): with Image.open(image_path) as img: width, height = img.size return "landscape" if width > height else "portrait" # 转换图片为 WebP 格式 def convert_to_webp(image_path, output_folder, max_pixels=178956970): try: with Image.open(image_path) as img: # Check image size width, height = img.size if width * height > max_pixels: print(f"Skipping {image_path} because it exceeds the size limit.") return # Save the image as WebP output_path = os.path.join(output_folder, os.path.splitext(os.path.basename(image_path))[0] + ".webp") img.save(output_path, "webp") except Exception as e: print(f"Failed to convert {image_path}: {e}") # 遍历文件夹中的图片 def process_images(input_folder, output_folder_landscape, output_folder_portrait): for filename in os.listdir(input_folder): if filename.endswith(('.jpg', '.jpeg', '.png')): image_path = os.path.join(input_folder, filename) orientation = get_image_orientation(image_path) try: if orientation == "landscape": convert_to_webp(image_path, output_folder_landscape) else: convert_to_webp(image_path, output_folder_portrait) except Exception as e: print(f"Error processing {image_path}: {e}. Skipping this image.") # 指定输入和输出文件夹 input_folder = "/root/input" output_folder_landscape = "/root/landscape" output_folder_portrait = "/root/portrait" # 执行转换 process_images(input_folder, output_folder_landscape, output_folder_portrait)

五月 15, 2025 · 1 分钟 · 273 字 · Beiyuan

Debian安装Docker及Docker-compose

Github Docker及Docker Compose官方安装脚本 1 2 curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh Docker compose手动安装 1 2 3 4 5 6 sudo curl -sSL "https://api.github.com/repos/docker/compose/releases/latest" | \ jq -r '.tag_name' | \ xargs -I {} sudo curl -L "https://github.com/docker/compose/releases/download/{}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \ sudo chmod +x /usr/local/bin/docker-compose && \ sudo ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose && \ docker-compose --version

五月 15, 2025 · 1 分钟 · 94 字 · Beiyuan