Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
c05cd29028
|
|||
|
a62a960ebd
|
|||
|
23a6d9d18e
|
|||
|
30a7c3194d
|
|||
|
d61913646d
|
@@ -1,65 +0,0 @@
|
||||
name: Build and Push Docker Image
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "release/*"
|
||||
tags:
|
||||
- "*"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ !contains(github.event.head_commit.message, '[skip ci]') }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
# Ensure full history and all tags are available
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up QEMU (multi-arch)
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: gitea.suda.codes/${{ github.repository }}
|
||||
tags: |
|
||||
type=ref,event=tag
|
||||
|
||||
- name: Determine latest Git tag
|
||||
id: latest
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
# Fetch tags in case the runner's mirror is stale
|
||||
git fetch --tags --force --quiet || true
|
||||
if tag=$(git describe --tags --abbrev=0 2>/dev/null); then
|
||||
echo "tag=$tag" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
# Fallback when no tags exist
|
||||
echo "tag=latest" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
- name: Log in to container registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: gitea.suda.codes
|
||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
# Always tag with the latest Git tag; also keep any tags from metadata (e.g., on tag events)
|
||||
tags: |
|
||||
${{ steps.meta.outputs.tags }}
|
||||
gitea.suda.codes/${{ github.repository }}:${{ steps.latest.outputs.tag }}
|
||||
@@ -4,17 +4,16 @@ RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
libgl1 \
|
||||
libglib2.0-0 \
|
||||
zip \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN pip install --no-cache-dir --upgrade torch torchvision mokuro
|
||||
|
||||
# create a user to run the application
|
||||
RUN useradd -m mokurouser \
|
||||
&& mkdir -p /home/mokurouser/mokuro \
|
||||
&& chown -R mokurouser:mokurouser /home/mokurouser
|
||||
&& mkdir -p /mokuro \
|
||||
&& chown -R mokurouser:mokurouser /mokuro
|
||||
|
||||
WORKDIR /home/mokurouser
|
||||
WORKDIR /mokuro
|
||||
|
||||
COPY . .
|
||||
|
||||
CMD ["/bin/sh", "run.sh"]
|
||||
|
||||
@@ -8,10 +8,12 @@ services:
|
||||
container_name: mokuro
|
||||
user: 1000:1000
|
||||
volumes:
|
||||
- /home/sudacode/S/japanese/manga/One Piece color v01-05:/home/mokurouser/mokuro
|
||||
- ~/S/japanese/manga:/mokuro/manga
|
||||
command: mokuro --parent_dir "manga/One Piece Color" --disable_confirmation && ./zip.sh "manga/One Piece Color"
|
||||
runtime: nvidia
|
||||
restart: never
|
||||
restart: no
|
||||
network_mode: host
|
||||
tty: true
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
|
||||
5
run.sh
5
run.sh
@@ -1,5 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
cd /home/mokurouser/mokuro || exit
|
||||
rm -rf _ocr *.html
|
||||
mokuro --disable_html --disable_confirmation --parent_dir One\ Piece\ Color
|
||||
21
zip.sh
Executable file
21
zip.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
# Usage: ./zip.sh [directory]
|
||||
# Default is current directory
|
||||
set -Eeuo pipefail
|
||||
|
||||
DIR="${1:-.}"
|
||||
|
||||
cd "$DIR" || exit
|
||||
|
||||
for f in *.mokuro; do
|
||||
[ -e "$f" ] || continue # skip if no .mokuro files
|
||||
base="${f%.mokuro}"
|
||||
dir="$base"
|
||||
zipfile="$base.zip"
|
||||
if [ -d "$dir" ]; then
|
||||
echo "Zipping: $zipfile <- $f $dir/"
|
||||
zip -qr "$zipfile" "$f" "$dir"
|
||||
else
|
||||
echo "Warning: Directory '$dir' not found for '$f', skipping."
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user