Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V3 beta #255

Merged
merged 56 commits into from
Oct 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
458fa45
Merge pull request #248 from Wizarrrr/translations
realashleybailey Oct 11, 2023
f23d492
Add migration scripts for adding new columns and updating existing co…
realashleybailey Oct 11, 2023
e58d03e
feat: Add migration functionality
realashleybailey Oct 11, 2023
966aef2
feat: Add migrator create script
realashleybailey Oct 11, 2023
19e9f6c
Add "Migrations" model for database operations.
realashleybailey Oct 11, 2023
9de7be1
refactor: Remove unused imports and simplify library retrieval logic …
realashleybailey Oct 11, 2023
f2ec0fa
Refactor home page header translation and update Docker image name an…
realashleybailey Oct 11, 2023
aef32ee
Merge pull request #250 from Wizarrrr/master
realashleybailey Oct 11, 2023
17ba455
feat: Add beta-test workflow for Docker build and push
realashleybailey Oct 11, 2023
4b782ae
Update beta-test.yml to use v3-beta-test image tag
realashleybailey Oct 11, 2023
46403d8
Fix push by digest issue and update image name formatting in beta-tes…
realashleybailey Oct 11, 2023
b7a7d7d
Fix docker buildx imagetools create command in beta-test.yml
realashleybailey Oct 12, 2023
550db8b
Remove unsupported platforms, login to Docker Hub, and update manifes…
realashleybailey Oct 12, 2023
ca2b59a
Change registry variables and build image to local registry with dige…
realashleybailey Oct 12, 2023
744cc3e
Update beta-test workflow to include image tagging and pushing by dig…
realashleybailey Oct 12, 2023
2ee0be4
Retag images with the digest for pushing by digest
realashleybailey Oct 12, 2023
8d72be5
Retag images with digests for pushing by digest and push images by di…
realashleybailey Oct 12, 2023
c10a3c4
Refactor image outputs and push images by digest
realashleybailey Oct 12, 2023
eb9deb7
Update image tag for beta testing and include release version in imag…
realashleybailey Oct 12, 2023
8cf7e51
Compile translations
realashleybailey Oct 12, 2023
61750d2
Build and push the image by digest
realashleybailey Oct 12, 2023
df6cf73
Update .dockerignore and .github/workflows/beta-ci.yml
realashleybailey Oct 12, 2023
24c55ed
feat: Update Docker Build and Push descriptions
realashleybailey Oct 12, 2023
1ccf40b
refactor: Add support for multiple platforms in beta CI workflow
realashleybailey Oct 12, 2023
e60572c
Refactor build workflow and push created manifest list to Registry.
realashleybailey Oct 12, 2023
93f8bf9
Merge pull request #252 from Wizarrrr/translations
realashleybailey Oct 12, 2023
9628936
Rename the script `docker-create.sh` to `buildx-create.sh`. Add a new…
realashleybailey Oct 12, 2023
a3adf64
Refactor artifact deletion in beta-ci.yml, add build_ghcr and merge_g…
realashleybailey Oct 12, 2023
6194f42
update
Oct 13, 2023
6858169
Update Dockerfile and nginx.conf for Wizarr setup
realashleybailey Oct 14, 2023
48a8296
Change Dockerfile to show build and target platform in Docker log
realashleybailey Oct 14, 2023
b0788dc
Add Windows/amd64 to the matrix and remove Linux/mips64le from the Gi…
realashleybailey Oct 14, 2023
c6417dd
Remove duplicate and unnecessary platform configurations in beta-ci w…
realashleybailey Oct 14, 2023
4d0b1ca
Refactor Docker image build configuration
realashleybailey Oct 14, 2023
8659638
Add account endpoints for getting and updating the current user's acc…
realashleybailey Oct 15, 2023
339cb4c
Add functionality to refresh JWT token
realashleybailey Oct 15, 2023
5b67ee8
Update Jellyfin user invitation handling
realashleybailey Oct 15, 2023
4ca4901
Fix serializing issue in MFA API
realashleybailey Oct 15, 2023
b7731a5
Add new column 'tutorial' to 'accounts' table
realashleybailey Oct 15, 2023
0634c5a
Add tutorial field to Accounts model in the database
realashleybailey Oct 15, 2023
f806f2c
Add 'tutorial' field to the Accounts model
realashleybailey Oct 15, 2023
307298d
Refactor authentication model: remove unused code and improve user ob…
realashleybailey Oct 15, 2023
9dd3f0c
Refactor get_account_by_id, update_account, and delete_account functions
realashleybailey Oct 15, 2023
8da030e
Refactor invitation code in plex.py
realashleybailey Oct 15, 2023
dd53cac
feat: Add error logging in global_invite_user_to_media_server function
realashleybailey Oct 15, 2023
fbadf50
Fix displaying welcome message in authentication module
realashleybailey Oct 15, 2023
f566b04
Fix disabled state of 'Back' and 'Next' buttons
realashleybailey Oct 15, 2023
0ddb8b2
Style error page with improved layout and add a button to redirect to…
realashleybailey Oct 15, 2023
1eafb8a
Add Plex login confirmation and emit token to parent component
realashleybailey Oct 15, 2023
d218698
Add GitHub attribution and handle socket log message
realashleybailey Oct 15, 2023
f7e6e36
feat: Add user store to custom tour guide options
realashleybailey Oct 15, 2023
0302b5c
feat: Add user type import and update user store
realashleybailey Oct 15, 2023
844c82d
feat: Add user store to loadRouterTour function
realashleybailey Oct 15, 2023
873b5b7
Refactor APIUser type in frontend/src/types/api/auth/User.ts
realashleybailey Oct 15, 2023
bb096a4
chore: Update package dependencies and add VueFeather component
realashleybailey Oct 15, 2023
13c03e8
feat: Add support for joining the media server via Plex
realashleybailey Oct 15, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@ venv/
node_modules
__pycache__

# All hidden files
.*

Dockerfile
README.md
babel.cfg
Expand Down
251 changes: 237 additions & 14 deletions .github/workflows/beta-ci.yml
Original file line number Diff line number Diff line change
@@ -1,53 +1,276 @@
name: Docker Build and Push
name: Docker Build and Push Beta

on:
push:
branches:
- v3-beta
- "v3-beta"
workflow_dispatch: {}

permissions:
packages: write

env:
REGISTRY: ghcr.io
GHCR_REGISTRY: ghcr.io
DH_REGISTRY: docker.io
IMAGE_NAME: wizarrrr/wizarr
IMAGE_TAG: v3-beta

jobs:
build:
clear:
runs-on: ubuntu-latest
steps:
# Clear the digests from the artifacts
- name: Clear digests
uses: geekyeggo/delete-artifact@v2
with:
name: |
digests_dh
digests_ghcr

build_ghcr:
name: Build Digest for GHCR
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
- linux/arm64

steps:
# Checkout the repo
- name: Checkout
uses: actions/checkout@v4

# Get the Metadata from the Docker Image
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}

# Set up QEMU
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# with:
# platforms: ${{ matrix.platform }}

# Set up Docker Buildx
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

# Login to GHCR
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ${{ env.GHCR_REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# Build and push the image
- name: Build and push by digest
id: build
uses: docker/build-push-action@v5
with:
context: .
push: true
platforms: ${{ matrix.platform }}
labels: ${{ steps.meta.outputs.labels }}
provenance: false
outputs: type=image,name=${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true
cache-from: type=gha,scope=${{ matrix.platform }}-${{ env.GHCR_REGISTRY }}
cache-to: type=gha,mode=max,scope=${{ matrix.platform }}-${{ env.GHCR_REGISTRY }}

# Export the digest for later use
- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"

# Upload the digest as an artifact
- name: Upload digest
uses: actions/upload-artifact@v3
with:
name: digests_ghcr
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1

merge_ghcr:
name: Merge Digest for GHCR
runs-on: ubuntu-latest
needs:
- build_ghcr
steps:
# Checkout the repo
- name: Checkout
uses: actions/checkout@v2

# Get the Release Version from .github/latest
# Get the Release Version from latest
- name: Get the Release Version from latest
id: get_version
run: echo "::set-output name=version::$(cat latest)"

# Download the digests from the artifacts
- name: Download digests
uses: actions/download-artifact@v3
with:
name: digests_ghcr
path: /tmp/digests

# Set up Docker Buildx
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3

# Get the Metadata from the Docker Image
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}

# Login to GHCR
- name: Login to GHCR
uses: docker/login-action@v1
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# Create manifest list and push
- name: Create manifest list and push to Registry
working-directory: /tmp/digests
run: |
docker buildx imagetools create \
--tag ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} \
--tag ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}-${{ steps.get_version.outputs.version }} \
$(printf '${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}@sha256:%s ' *)

# Inspect image
- name: Inspect image
run: docker buildx imagetools inspect ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}

build_dh:
name: Build Digest for Docker Hub
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
- linux/arm64

steps:
# Checkout the repo
- name: Checkout
uses: actions/checkout@v4

# Get the Metadata from the Docker Image
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.DH_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}

# Set up QEMU
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# with:
# platforms: ${{ matrix.platform }}

# Set up Docker Buildx
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

# Login to Docker Hub
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: ${{ env.DH_REGISTRY }}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

# Build and push the image
- name: Build and push
- name: Build and push by digest
id: build
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}-${{ steps.get_version.outputs.version }}
platforms: linux/amd64,linux/arm64
platforms: ${{ matrix.platform }}
labels: ${{ steps.meta.outputs.labels }}
provenance: false
outputs: type=image,name=${{ env.DH_REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true
cache-from: type=gha,scope=${{ matrix.platform }}-${{ env.GHCR_REGISTRY }}
cache-to: type=gha,mode=max,scope=${{ matrix.platform }}-${{ env.GHCR_REGISTRY }}

# Export the digest for later use
- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"

# Upload the digest as an artifact
- name: Upload digest
uses: actions/upload-artifact@v3
with:
name: digests_dh
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1

merge_dh:
name: Merge Digest for Docker Hub
runs-on: ubuntu-latest
needs:
- build_dh
steps:
# Checkout the repo
- name: Checkout
uses: actions/checkout@v2

# Get the Release Version from latest
- name: Get the Release Version from latest
id: get_version
run: echo "::set-output name=version::$(cat latest)"

# Download the digests from the artifacts
- name: Download digests
uses: actions/download-artifact@v3
with:
name: digests_dh
path: /tmp/digests

# Set up Docker Buildx
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

# Get the Metadata from the Docker Image
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.DH_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}

# Login to Docker Hub
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: docker.io
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

# Create manifest list and push
- name: Create manifest list and push to Registry
working-directory: /tmp/digests
run: |
docker buildx imagetools create \
--tag ${{ env.DH_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} \
--tag ${{ env.DH_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}-${{ steps.get_version.outputs.version }} \
$(printf '${{ env.DH_REGISTRY }}/${{ env.IMAGE_NAME }}@sha256:%s ' *)

# Inspect image
- name: Inspect image
run: docker buildx imagetools inspect ${{ env.DH_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}
Loading