mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
Merge remote-tracking branch 'origin/main' into dev/diffusers
This commit is contained in:
commit
dea357fd6d
64
.github/workflows/build-container.yml
vendored
64
.github/workflows/build-container.yml
vendored
@ -1,5 +1,3 @@
|
||||
# Building the Image without pushing to confirm it is still buildable
|
||||
# confirum functionality would unfortunately need way more resources
|
||||
name: build container image
|
||||
on:
|
||||
push:
|
||||
@ -11,28 +9,66 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
pip-requirements:
|
||||
- requirements-lin-amd.txt
|
||||
- requirements-lin-cuda.txt
|
||||
registry:
|
||||
- ghcr.io
|
||||
flavor:
|
||||
- amd
|
||||
- cuda
|
||||
# - cloud
|
||||
include:
|
||||
- flavor: amd
|
||||
pip-requirements: requirements-lin-amd.txt
|
||||
dockerfile: docker-build/Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
- flavor: cuda
|
||||
pip-requirements: requirements-lin-cuda.txt
|
||||
dockerfile: docker-build/Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
# - flavor: cloud
|
||||
# pip-requirements: requirements-lin-cuda.txt
|
||||
# dockerfile: docker-build/Dockerfile.cloud
|
||||
# platforms: linux/amd64
|
||||
runs-on: ubuntu-latest
|
||||
name: ${{ matrix.pip-requirements }} ${{ matrix.arch }}
|
||||
name: ${{ matrix.flavor }}
|
||||
steps:
|
||||
- name: prepare docker-tag
|
||||
env:
|
||||
repository: ${{ github.repository }}
|
||||
run: echo "dockertag=${repository,,}" >> $GITHUB_ENV
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
images: ${{ matrix.registry }}/${{ github.repository }}-${{ matrix.flavor }}
|
||||
tags: |
|
||||
type=ref,event=branch
|
||||
type=ref,event=tag
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
type=sha
|
||||
flavor: |
|
||||
latest=true
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
|
||||
- if: github.event_name != 'pull_request'
|
||||
name: Docker login
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: ${{ matrix.registry }}
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build container
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: .
|
||||
file: docker-build/Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: false
|
||||
tags: ${{ env.dockertag }}:${{ matrix.pip-requirements }}
|
||||
file: ${{ matrix.dockerfile }}
|
||||
platforms: ${{ matrix.platforms }}
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
build-args: pip_requirements=${{ matrix.pip-requirements }}
|
||||
|
@ -22,6 +22,12 @@ COPY . ./environments-and-requirements/${PIP_REQUIREMENTS} ./
|
||||
|
||||
# install requirements
|
||||
RUN python3 -m venv .venv \
|
||||
&& pip install \
|
||||
--upgrade \
|
||||
--no-cache-dir \
|
||||
'pip>=22.3.1' \
|
||||
'setuptools>=65.5.0' \
|
||||
'wheel>=0.38.4' \
|
||||
&& pip install \
|
||||
--no-cache-dir \
|
||||
-r ${PIP_REQUIREMENTS}
|
||||
@ -42,6 +48,7 @@ COPY --from=builder /usr/src/app .
|
||||
|
||||
# set Environment, Entrypoint and default CMD
|
||||
ENV INVOKEAI_ROOT /data
|
||||
ENV INVOKE_MODEL_RECONFIGURE --yes
|
||||
ENV PATH=/usr/src/app/.venv/bin:$PATH
|
||||
|
||||
ENTRYPOINT [ "python3", "scripts/invoke.py" ]
|
||||
|
@ -16,4 +16,5 @@ docker run \
|
||||
--hostname="$project_name" \
|
||||
--mount="source=$volumename,target=/data" \
|
||||
--publish=9090:9090 \
|
||||
--cap-add=sys_nice \
|
||||
"$invokeai_tag" ${1:+$@}
|
||||
|
@ -942,7 +942,11 @@ def emergency_model_reconfigure():
|
||||
print('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
|
||||
print('configure_invokeai is launching....\n')
|
||||
|
||||
sys.argv = ['configure_invokeai','--interactive']
|
||||
sys.argv = [
|
||||
'configure_invokeai',
|
||||
os.environ.get(
|
||||
'INVOKE_MODEL_RECONFIGURE',
|
||||
'--interactive')]
|
||||
import configure_invokeai
|
||||
configure_invokeai.main()
|
||||
|
||||
|
@ -12,12 +12,13 @@ the attributes:
|
||||
'''
|
||||
|
||||
import os
|
||||
import os.path as osp
|
||||
from argparse import Namespace
|
||||
|
||||
Globals = Namespace()
|
||||
|
||||
# This is usually overwritten by the command line and/or environment variables
|
||||
Globals.root = os.path.abspath(os.environ.get('INVOKEAI_ROOT') or os.path.expanduser('~/invokeai'))
|
||||
Globals.root = osp.abspath(os.environ.get('INVOKEAI_ROOT') or osp.abspath(osp.join(os.environ.get('VIRTUAL_ENV'),'..')) or osp.expanduser('~/invokeai'))
|
||||
|
||||
# Where to look for the initialization file
|
||||
Globals.initfile = 'invokeai.init'
|
||||
|
Loading…
Reference in New Issue
Block a user