ramyma / a8r8

A8R8 (Alternate Reality), an opinionated interface for Stable Diffusion image generation, and more.
MIT License
105 stars 4 forks source link

`exec /app/bin/server: no such file or directory` on Windows #1

Closed dimdog closed 1 year ago

dimdog commented 1 year ago
[+] Running 1/0
 - Container a8r8-web-1  Created                                                                                   0.0s
Attaching to a8r8-web-1
a8r8-web-1  | exec /app/bin/server: no such file or directory
a8r8-web-1 exited with code 1

I am following the installation and setup guides. I just install A1111 following their guide, and believe I have done everything correctly to set this up. I wonder if a requirement installation is missing somewhere?

ramyma commented 1 year ago

I haven't tested it on windows. Can you show the output of docker compose build?

dimdog commented 1 year ago
[+] Building 1.3s (39/40)
 => [internal] load build definition from Dockerfile                                                               0.0s
 => => transferring dockerfile: 32B                                                                                0.0s
 => [internal] load .dockerignore                                                                                  0.0s
 => => transferring context: 35B                                                                                   0.0s
 => [internal] load metadata for docker.io/library/debian:buster-20230612-slim                                     1.0s
 => [internal] load metadata for docker.io/hexpm/elixir:1.15.0-erlang-26.0.2-debian-buster-20230612-slim           1.2s
 => [internal] load build context                                                                                  0.1s
 => => transferring context: 9.13kB                                                                                0.0s
 => [nodebuilder  1/12] FROM docker.io/hexpm/elixir:1.15.0-erlang-26.0.2-debian-buster-20230612-slim@sha256:e1de4  0.0s
 => [stage-2 1/6] FROM docker.io/library/debian:buster-20230612-slim@sha256:738002a6e94e8629a0f869be8ea5651988797  0.0s
 => CACHED [stage-2 2/6] RUN --mount=type=cache,target=/var/cache/apt,sharing=private   apt-get update -y && apt-  0.0s
 => CACHED [stage-2 3/6] RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen                          0.0s
 => CACHED [stage-2 4/6] WORKDIR /app                                                                              0.0s
 => CACHED [stage-2 5/6] RUN chown nobody /app                                                                     0.0s
 => CACHED [builder  2/17] RUN --mount=type=cache,target=/var/cache/apt,sharing=private   apt-get update -y && ap  0.0s
 => CACHED [builder  3/17] WORKDIR /app                                                                            0.0s
 => CACHED [builder  4/17] RUN mix local.hex --force &&   mix local.rebar --force                                  0.0s
 => CACHED [builder  5/17] COPY mix.exs mix.lock ./                                                                0.0s
 => CACHED [builder  6/17] RUN mix deps.get --only prod                                                            0.0s
 => CACHED [builder  7/17] RUN mkdir config                                                                        0.0s
 => CACHED [builder  8/17] COPY config/config.exs config/prod.exs config/                                          0.0s
 => CACHED [builder  9/17] RUN mix deps.compile                                                                    0.0s
 => CACHED [builder 10/17] COPY lib lib                                                                            0.0s
 => CACHED [builder 11/17] COPY priv priv                                                                          0.0s
 => CACHED [nodebuilder  2/12] RUN --mount=type=cache,target=/var/cache/apt,sharing=private   apt-get update -y &  0.0s
 => CACHED [nodebuilder  3/12] RUN --mount=type=cache,target=/var/cache/apt,sharing=private   curl -fsSL https://  0.0s
 => CACHED [nodebuilder  4/12] RUN npm install -g pnpm                                                             0.0s
 => CACHED [nodebuilder  5/12] WORKDIR /app                                                                        0.0s
 => CACHED [nodebuilder  6/12] WORKDIR /app/assets                                                                 0.0s
 => CACHED [nodebuilder  7/12] COPY assets/pnpm-lock.yaml ./                                                       0.0s
 => CACHED [nodebuilder  8/12] RUN pnpm fetch                                                                      0.0s
 => CACHED [nodebuilder  9/12] COPY assets ./                                                                      0.0s
 => CACHED [nodebuilder 10/12] RUN pnpm install --offline                                                          0.0s
 => CACHED [nodebuilder 11/12] RUN pnpm build                                                                      0.0s
 => CACHED [nodebuilder 12/12] WORKDIR /app                                                                        0.0s
 => CACHED [builder 12/17] COPY --from=nodeBuilder /app/priv/static/assets priv/static/assets                      0.0s
 => CACHED [builder 13/17] RUN mix compile                                                                         0.0s
 => CACHED [builder 14/17] RUN mix phx.digest                                                                      0.0s
 => CACHED [builder 15/17] COPY config/runtime.exs config/                                                         0.0s
 => CACHED [builder 16/17] COPY rel rel                                                                            0.0s
 => CACHED [builder 17/17] RUN mix release                                                                         0.0s
 => CACHED [stage-2 6/6] COPY --from=builder --chown=nobody:root /app/_build/prod/rel/ex_sd ./                     0.0s
 => exporting to image                                                                                             0.0s
 => => exporting layers                                                                                            0.0s
 => => writing image sha256:7d4f2e7fd61c1a882c336ee332a613490f9ea4520fda90aa69f89fb14cf9a690                       0.0s
 => => naming to docker.io/library/a8r8-web                                                                        0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
ramyma commented 1 year ago

Can you chage the last line of the Dockerfile to be

# CMD ["/app/bin/server"]

Effectively commenting it out. Then run docker compose build and docker compose run web. Now run

ls bin/

it should return

# ls bin/
ex_sd  ex_sd.bat  migrate  migrate.bat  server  server.bat

If you have a different output try reverting Dockerfile to it's original state and run

docker compose build --no-cache

This will rebuild everything from scratch ignoring any cached results.

dimdog commented 1 year ago

Okay! that worked. I feel like I'm still missing something though (as I don't know how to access the web-ui in the screen shots!)

I tried executing both server and server.bat from the command line that loaded when I ran docker compose run web`, but neither seemed to start a server. e.g.

root@71a8b23b5dd7:/app# exec bin/server
bash: /app/bin/server: /bin/sh^M: bad interpreter: No such file or directory
bash: /app/bin/server: Success

I'm still going to my sb.webui outside of all of this to exec run.bat and where i've modified a line to look like call webui-user.bat --api --listen but I wonder if I made that change in the wrong place

ramyma commented 1 year ago

After running docker compose up you just need to point your browser to http://localhost:4000. Also make sure you reverted Dockerfile to it's original state before you ran docker compose build. No need to tap into the docker container, that was just for debugging purposes. I'll add this step to the readme to clarify it.

ramyma commented 1 year ago

To set the command line args check https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Command-Line-Arguments-and-Settings#webui-user

ramyma commented 1 year ago

I updated the README. @dimdog I appreciate your feedback, let me know how it goes.

dimdog commented 1 year ago

@ramyma Thank you so much for being so responsive! I think we are probably almost there now.

With the reverted dockerfile, when I do docker compose up, I once again get:

[+] Running 1/0
 - Container a8r8-web-1  Created                                                                                   0.0s
Attaching to a8r8-web-1
a8r8-web-1  | exec /app/bin/server: no such file or directory
a8r8-web-1 exited with code 1

Without the reverted dockerfile (With the server command commented out)

C:\Users\Ben\a8r8\a8r8>docker compose up
[+] Running 1/1
 - Container a8r8-web-1  Recreated                                                                                 0.1s
Attaching to a8r8-web-1
a8r8-web-1 exited with code 0

Any thoughts?

ramyma commented 1 year ago

Well, it seems like the build process didn't go as it should. Can you reiterate the steps you took?

dimdog commented 1 year ago

Just ran

docker compose build

then docker compose up

The build completes, but the up fails. Essentially back to the original error message and circumstances

ramyma commented 1 year ago

@dimdog We can chat it through on https://discord.com/channels/1124494164021756007/1124495401060409447. I believe it would be more efficient.

dimdog commented 1 year ago

@ramyma Looks like I don't have access to that server! I'm dimdog on discord too.

ramyma commented 1 year ago

Resolved by https://github.com/ramyma/a8r8/commit/039df1bb046c1e29f7206c6ca4cca38923bbe635