-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #47 from TheTaylorLee/3.0.0
3.0.0
- Loading branch information
Showing
13 changed files
with
223 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
name: dev-alpine3.17-amd64 | ||
|
||
"on": | ||
# pull_request: | ||
# types: | ||
# - opened | ||
push: | ||
branches-ignore: | ||
- main | ||
workflow_dispatch: | ||
|
||
jobs: | ||
build-and-push-image: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
packages: write | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Get tag | ||
id: repository | ||
run: echo "tag=$(cat version)" > $GITHUB_ENV | ||
|
||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v2 | ||
|
||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v2 | ||
|
||
- name: Log in to the Container registry | ||
uses: docker/login-action@v2 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.API_TOKEN }} | ||
|
||
- name: Build and push alpine | ||
uses: docker/build-push-action@v3 | ||
with: | ||
context: . | ||
file: Dockerfile.alpine3.17-amd64 | ||
platforms: linux/amd64 | ||
push: true | ||
tags: | | ||
ghcr.io/thetaylorlee/docker-transcodeautomation:alpine3.17-amd64-develop-${{ env.tag }} | ||
ghcr.io/thetaylorlee/docker-transcodeautomation:alpine3.17-amd64-develop |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
name: prod-alpine-amd64 | ||
|
||
"on": | ||
pull_request: | ||
branches: | ||
- main | ||
types: | ||
- closed | ||
|
||
jobs: | ||
build-and-push-alpine-image: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
packages: write | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Get tag | ||
id: repository | ||
run: echo "tag=$(cat version)" > $GITHUB_ENV | ||
|
||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v2 | ||
|
||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v2 | ||
|
||
- name: Log in to the Container registry | ||
uses: docker/login-action@v2 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.API_TOKEN }} | ||
|
||
- name: Build and push alpine | ||
uses: docker/build-push-action@v3 | ||
with: | ||
context: . | ||
file: Dockerfile.alpine3.14-lts-amd64 | ||
platforms: linux/amd64 | ||
push: true | ||
tags: | | ||
ghcr.io/thetaylorlee/docker-transcodeautomation:alpine3.14-lts-amd64-${{ env.tag }} | ||
ghcr.io/thetaylorlee/docker-transcodeautomation:alpine3.14-lts-amd64 | ||
ghcr.io/thetaylorlee/docker-transcodeautomation:latest |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
# Copyright (c) Microsoft Corporation. | ||
# Licensed under the MIT License. | ||
# Modified by Taylor Lee to include additonal customizations under the MIT License. | ||
|
||
# Docker image file that describes an Alpine image with PowerShell installed from .tar.gz file(s) | ||
ARG hostRegistry=psdockercache.azurecr.io | ||
FROM ${hostRegistry}/alpine:3.17 AS installer-env | ||
|
||
# Define Args for the needed to add the package | ||
ARG PS_VERSION=7.3.0-preview.8 | ||
ARG PS_PACKAGE=powershell-${PS_VERSION}-linux-alpine-x64.tar.gz | ||
ARG PS_PACKAGE_URL=https://github.com/PowerShell/PowerShell/releases/download/v${PS_VERSION}/${PS_PACKAGE} | ||
ARG PS_INSTALL_VERSION=7-preview | ||
|
||
# Download the Linux tar.gz and save it | ||
ADD ${PS_PACKAGE_URL} /tmp/linux.tar.gz | ||
|
||
# define the folder we will be installing PowerShell to | ||
ENV PS_INSTALL_FOLDER=/opt/microsoft/powershell/$PS_INSTALL_VERSION | ||
|
||
# Create the install folder | ||
RUN mkdir -p ${PS_INSTALL_FOLDER} | ||
|
||
# Unzip the Linux tar.gz | ||
RUN tar zxf /tmp/linux.tar.gz -C ${PS_INSTALL_FOLDER} -v | ||
|
||
# Start a new stage so we lose all the tar.gz layers from the final image | ||
ARG hostRegistry=psdockercache.azurecr.io | ||
FROM ${hostRegistry}/alpine:3.17 | ||
|
||
# Add Labels (Modified entry) | ||
LABEL org.opencontainers.image.source=https://github.com/thetaylorlee/docker-transcodeautomation | ||
LABEL org.opencontainers.image.description="An automated media transcoding solution." | ||
LABEL org.opencontainers.image.licenses=MIT | ||
|
||
# Copy only the files we need from the previous stage | ||
COPY --from=installer-env ["/opt/microsoft/powershell", "/opt/microsoft/powershell"] | ||
|
||
# Define Args and Env needed to create links | ||
ARG PS_INSTALL_VERSION=7-preview | ||
ENV PS_INSTALL_FOLDER=/opt/microsoft/powershell/$PS_INSTALL_VERSION \ | ||
\ | ||
# Define ENVs for Localization/Globalization | ||
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \ | ||
LC_ALL=en_US.UTF-8 \ | ||
LANG=en_US.UTF-8 \ | ||
# set a fixed location for the Module analysis cache | ||
PSModuleAnalysisCachePath=/var/cache/microsoft/powershell/PSModuleAnalysisCache/ModuleAnalysisCache \ | ||
POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-Alpine-3.17 \ | ||
# Set FFTools variables (Modified entry) | ||
FFToolsSource=/docker-transcodeautomation/transcoding/ \ | ||
FFToolsTarget=/docker-transcodeautomation/transcoding/new/ | ||
|
||
# Install dotnet dependencies and ca-certificates | ||
RUN apk add --no-cache \ | ||
ca-certificates \ | ||
less \ | ||
\ | ||
# PSReadline/console dependencies | ||
ncurses-terminfo-base \ | ||
\ | ||
# .NET Core dependencies | ||
krb5-libs \ | ||
libgcc \ | ||
libintl \ | ||
libssl1.1 \ | ||
libstdc++ \ | ||
tzdata \ | ||
userspace-rcu \ | ||
zlib \ | ||
# Install ffmpeg (Modified entry) | ||
ffmpeg \ | ||
icu-libs \ | ||
&& apk -X https://dl-cdn.alpinelinux.org/alpine/edge/main add --no-cache \ | ||
lttng-ust \ | ||
\ | ||
# PowerShell remoting over SSH dependencies | ||
openssh-client \ | ||
\ | ||
&& apk update \ | ||
&& apk upgrade \ | ||
# Create the pwsh symbolic link that points to powershell | ||
&& ln -s ${PS_INSTALL_FOLDER}/pwsh /usr/bin/pwsh \ | ||
\ | ||
# Create the pwsh-preview symbolic link that points to powershell | ||
&& ln -s ${PS_INSTALL_FOLDER}/pwsh /usr/bin/pwsh-preview \ | ||
# Give all user execute permissions and remove write permissions for others | ||
&& chmod a+x,o-w ${PS_INSTALL_FOLDER}/pwsh \ | ||
# intialize powershell module cache | ||
# and disable telemetry | ||
&& export POWERSHELL_TELEMETRY_OPTOUT=1 \ | ||
&& pwsh \ | ||
-NoLogo \ | ||
-NoProfile \ | ||
-Command " \ | ||
\$ErrorActionPreference = 'Stop' ; \ | ||
\$ProgressPreference = 'SilentlyContinue' ; \ | ||
while(!(Test-Path -Path \$env:PSModuleAnalysisCachePath)) { \ | ||
Write-Host "'Waiting for $env:PSModuleAnalysisCachePath'" ; \ | ||
Start-Sleep -Seconds 6 ; \ | ||
}" \ | ||
# Create directories where powershell profile will be saved (Modified Entry) | ||
mkdir /root/.config \ | ||
mkdir /root/.config/powershell | ||
|
||
# Copy in modules (Modified entry) | ||
COPY build /docker-transcodeautomation | ||
COPY modules/PSSQLite /root/.local/share/powershell/Modules/PSSQLite | ||
COPY modules/MediaFunctions /root/.local/share/powershell/Modules/MediaFunctions | ||
COPY modules/Microsoft.PowerShell_profile.ps1 /root/.config/powershell/Microsoft.PowerShell_profile.ps1 | ||
|
||
# Use PowerShell as the default shell | ||
# Use array to avoid Docker prepending /bin/sh -c (Modified entry) | ||
CMD [ "pwsh", "-f", "/docker-transcodeautomation/Invoke-TranscodeAutomation.ps1" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
v2.25.1 | ||
v3.0.0 |