Compare commits
20 Commits
7e2a97bf0d
...
tool_auto-
| Author | SHA1 | Date | |
|---|---|---|---|
| 2c1756228f | |||
| 2baaf6f6fd | |||
| 9cca8016c4 | |||
| 3ea86679d0 | |||
| 64113e9514 | |||
| a5ef65e47f | |||
| d6b3f93d72 | |||
| 4a0bc41f9b | |||
| fc6eb11849 | |||
| 72b0ef8b11 | |||
| 3aeac81cf4 | |||
| 62ee2fe065 | |||
| 03622eaa69 | |||
| 0354046e3c | |||
| dfb6fc6870 | |||
| 019a6d3f63 | |||
| 85a3dbfb96 | |||
| b6c8457bc3 | |||
| d32f36dd29 | |||
| ace27f7868 |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.build/
|
||||||
65
README.md
65
README.md
@@ -6,24 +6,77 @@ Collection of Dockerfiles created to build & pack various tools.
|
|||||||
<br>
|
<br>
|
||||||
|
|
||||||
<!-- TOC -->
|
<!-- TOC -->
|
||||||
- [1. Tools](#1-tools)
|
- [1. How to use](#1-how-to-use)
|
||||||
- [1.1. Bandwhich](#11-bandwhich)
|
- [1.1. CLI](#11-cli)
|
||||||
|
- [2. Tools](#2-tools)
|
||||||
|
- [2.1. Bandwhich](#21-bandwhich)
|
||||||
|
- [2.2. auto-editor](#22-auto-editor)
|
||||||
<!-- /TOC -->
|
<!-- /TOC -->
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
# 1. Tools
|
# 1. How to use
|
||||||
|
|
||||||
## 1.1. Bandwhich
|
Run the build-script `script/build.sh` with the path to the tool you want to build.
|
||||||
|
|
||||||
### 1.1.1. Source
|
<br>
|
||||||
|
|
||||||
|
The docker-image will be tagged with `default` and the detected version/commit-hash.
|
||||||
|
|
||||||
|
You can add more tags or change the existing tag-naming-scheme using the environment-variable `TAG`.
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
## 1.1. CLI
|
||||||
|
|
||||||
|
`script/build.sh <toolPath> [extra-args for docker build ..]`
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
### 1.1.1. Environment-Variables
|
||||||
|
|
||||||
|
Variable | Description | Default
|
||||||
|
-|-|-
|
||||||
|
`TAG` | Tag for Docker-building | `TAGPREFIX` + `NAME`
|
||||||
|
`TAGPREFIX` | Set a prefix to the default-tag | -
|
||||||
|
`NAME` | Change the name used in the tag | *FolderName*
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
# 2. Tools
|
||||||
|
|
||||||
|
## 2.1. Bandwhich
|
||||||
|
|
||||||
|
### 2.1.1. Source
|
||||||
>This is a CLI utility for displaying current network utilization by process, connection and remote IP/hostname
|
>This is a CLI utility for displaying current network utilization by process, connection and remote IP/hostname
|
||||||
|
|
||||||
https://github.com/imsnif/bandwhich
|
https://github.com/imsnif/bandwhich
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
### 1.1.2. Example
|
### 2.1.2. Example
|
||||||
```
|
```
|
||||||
docker run -it --net host bandwhich -i eth0
|
docker run -it --net host bandwhich -i eth0
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
## 2.2. auto-editor
|
||||||
|
|
||||||
|
### 2.2.1. Source
|
||||||
|
>Auto-Editor is a command line application for automatically editing video and audio by analyzing a variety of methods, most notably audio loudness.
|
||||||
|
|
||||||
|
https://github.com/WyattBlue/auto-editor
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
### 2.2.2. Example
|
||||||
|
Speed-up silent part of videos:
|
||||||
|
```
|
||||||
|
docker run -v /home/ruakij/Videos:/video auto-build --no-open --silent-speed 8 --margin 0.2sec "input.webm" -o edited.mp4
|
||||||
|
```
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
### 2.2.3. Comment
|
||||||
|
TODO: Unfortunately the tool requires ffmpeg which is a huge tool and blows up the size of the image. I have to find a way to use a minimized version of it.
|
||||||
|
|||||||
@@ -1,9 +1,22 @@
|
|||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
|
|
||||||
scriptPath_file=$(dirname "${BASH_SOURCE[0]}")
|
scriptPath_file=$(dirname "${BASH_SOURCE[0]}")
|
||||||
scriptPath_folder=$(realpath "${scriptPath_file}")
|
scriptPath_folder=$(realpath "${scriptPath_file}")
|
||||||
utils_path="${scriptPath_folder}/utils"
|
utils_path="${scriptPath_folder}/utils"
|
||||||
|
|
||||||
|
WORKDIR=${1:-$PWD}
|
||||||
|
WORKDIR=$(realpath "$WORKDIR")
|
||||||
|
|
||||||
|
# -- VARIABLES --
|
||||||
|
# Store original path
|
||||||
|
ORIGINALDIR=$PWD
|
||||||
|
|
||||||
|
# Get args without path
|
||||||
|
EXTRA_ARGS="${@:2}"
|
||||||
|
|
||||||
|
TAG=${TAG:-"${TAG_PREFIX}${NAME}"}
|
||||||
|
|
||||||
|
|
||||||
# Call prepare
|
# Call prepare
|
||||||
printf "# PREPARE\n"
|
printf "# PREPARE\n"
|
||||||
source ${utils_path}/prepare.sh
|
source ${utils_path}/prepare.sh
|
||||||
@@ -12,3 +25,7 @@ source ${utils_path}/prepare.sh
|
|||||||
printf "# BUILD\n"
|
printf "# BUILD\n"
|
||||||
build_type=${BUILD:-"ownarch"}
|
build_type=${BUILD:-"ownarch"}
|
||||||
source ${utils_path}/build-${build_type}.sh
|
source ${utils_path}/build-${build_type}.sh
|
||||||
|
|
||||||
|
|
||||||
|
# Switch back to original path
|
||||||
|
cd $ORIGINALDIR
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
TAG=${TAG:-"${TAG_PREFIX}${NAME}"}
|
|
||||||
PLATFORM=${PLATFORM:-"linux/amd64,linux/arm64/v8,linux/arm/v7"}
|
PLATFORM=${PLATFORM:-"linux/amd64,linux/arm64/v8,linux/arm/v7"}
|
||||||
EXTRA_ARGS=${EXTRA_ARGS:-"$@"}
|
|
||||||
|
|
||||||
docker buildx build \
|
docker buildx build \
|
||||||
--platform $PLATFORM \
|
--platform $PLATFORM \
|
||||||
|
--tag $TAG:latest \
|
||||||
--tag "${TAG}:${VERSION}" \
|
--tag "${TAG}:${VERSION}" \
|
||||||
$EXTRA_ARGS \
|
$EXTRA_ARGS \
|
||||||
.
|
$WORKDIR
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
TAG=${TAG:-"${TAG_PREFIX}${NAME}"}
|
|
||||||
EXTRA_ARGS=${EXTRA_ARGS:-"$@"}
|
|
||||||
|
|
||||||
docker build \
|
docker build \
|
||||||
|
--tag $TAG:latest \
|
||||||
--tag $TAG:$VERSION \
|
--tag $TAG:$VERSION \
|
||||||
$EXTRA_ARGS \
|
$EXTRA_ARGS \
|
||||||
.
|
"$WORKDIR"
|
||||||
|
|||||||
@@ -1,24 +1,33 @@
|
|||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
|
|
||||||
# --- VARIABLES ---
|
# --- VARIABLES ---
|
||||||
# Load variables
|
# Load variables
|
||||||
source $PWD/info.env
|
source $WORKDIR/info.env
|
||||||
|
|
||||||
# Check if certain vars are overwritten, set them if missing
|
# Check if certain vars are overwritten, set them if missing
|
||||||
if [ "${NAME}" = "" ]; then
|
if [ "${NAME}" = "" ]; then
|
||||||
NAME="$(basename $PWD)"
|
NAME="$(basename $WORKDIR)"
|
||||||
fi
|
fi
|
||||||
export NAME
|
export NAME
|
||||||
printf "Name: ${NAME}\n"
|
printf "Name: ${NAME}\n"
|
||||||
|
|
||||||
|
repositoryFolder="$WORKDIR/.build/repository"
|
||||||
|
|
||||||
# --- SOURCES ---
|
# --- SOURCES ---
|
||||||
alias git="git -C .build/repository"
|
|
||||||
# Get sources locally
|
# Get sources locally
|
||||||
if ! [ -d .build/repository ]; then
|
if ! [ -d "$repositoryFolder" ]; then
|
||||||
git clone "${GIT_REPOSITORY}" .build/repository
|
git clone "${GIT_REPOSITORY}" "$repositoryFolder"
|
||||||
else
|
cloned=True
|
||||||
git checkout - # Checkout previous branch in case GIT_CHECKOUT was different
|
fi
|
||||||
|
|
||||||
|
# Change into repository
|
||||||
|
cd "$repositoryFolder"
|
||||||
|
|
||||||
|
if [ "$cloned" != True ]; then
|
||||||
|
# Checkout default-branch in case GIT_CHECKOUT was different
|
||||||
|
defaultBranch=$(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@')
|
||||||
|
git checkout "${defaultBranch}"
|
||||||
|
|
||||||
git pull # Get changes
|
git pull # Get changes
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
24
tools/auto-editor/Dockerfile
Normal file
24
tools/auto-editor/Dockerfile
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# ---- Base ----
|
||||||
|
FROM python:slim AS base
|
||||||
|
#ENV PYTHONDONTWRITEBYTECODE=1
|
||||||
|
WORKDIR /app
|
||||||
|
# Install packages
|
||||||
|
RUN apt update && apt install -y ffmpeg && rm -rf /var/lib/apt/lists/*
|
||||||
|
#RUN pip install --no-compile --no-cache-dir ae-ffmpeg
|
||||||
|
#COPY .build/repository/ae-ffmpeg/ae_ffmpeg/Darwin-x86_64/* /usr/bin/
|
||||||
|
|
||||||
|
# ---- Build ----
|
||||||
|
FROM base AS build
|
||||||
|
ENV PYTHONDONTWRITEBYTECODE=1
|
||||||
|
# Copy sources
|
||||||
|
ADD .build/repository/auto_editor auto_editor
|
||||||
|
ADD .build/repository/setup.py .
|
||||||
|
ADD .build/repository/README.md .
|
||||||
|
# Run install
|
||||||
|
RUN pip install --no-compile --no-cache-dir -e .
|
||||||
|
|
||||||
|
# ---- Release ----
|
||||||
|
FROM build AS release
|
||||||
|
WORKDIR /videos
|
||||||
|
|
||||||
|
ENTRYPOINT ["auto-editor"]
|
||||||
2
tools/auto-editor/info.env
Normal file
2
tools/auto-editor/info.env
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
GIT_REPOSITORY=https://github.com/WyattBlue/auto-editor
|
||||||
|
TAG=latest-tag
|
||||||
@@ -4,10 +4,10 @@ WORKDIR /app
|
|||||||
|
|
||||||
|
|
||||||
# ---- Build ----
|
# ---- Build ----
|
||||||
FROM rust:alpine AS build
|
FROM rust:1.65.0-slim AS build
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
# Install packages
|
# Install packages
|
||||||
RUN apk add --no-cache make libc-dev build-base
|
RUN apt update && apt install -y make
|
||||||
# Copy sources
|
# Copy sources
|
||||||
ADD .build/repository/ .
|
ADD .build/repository/ .
|
||||||
# Update dependencies and Compile
|
# Update dependencies and Compile
|
||||||
|
|||||||
Reference in New Issue
Block a user