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

0.3.0-beta.9 perseus deploy Couldn't get render configuration!: StoreError... on startup #63

Closed
phaleth opened this issue Oct 15, 2021 · 8 comments
Assignees
Labels
C-bug Category: bug P-high Priority: high S-in-design Status: in design

Comments

@phaleth
Copy link
Contributor

phaleth commented Oct 15, 2021

Describe the bug
Once perseus app is deployed using perseus deploy and the standalone server binary in pkg/ dir is executed perseus app throws an error. Bellow is the whole procedure leveraging docker, including outputs from when I ran all of the commands necessary to reproduce the error.

To Reproduce

user@debian:~$ mkdir ./perseus-deploy
user@debian:~$ cat > ./perseus-deploy/Dockerfile <<EOL
> # get the base image
> FROM rust:1.55-slim AS build
> 
> # install build dependencies
> RUN apt update \
> && apt install -y --no-install-recommends lsb-release apt-transport-https \
> git inotify-tools ca-certificates build-essential make gcc curl
> 
> # prepare root project dir
> WORKDIR /app
> 
> # download the target for wasm
> RUN rustup target add wasm32-unknown-unknown
> 
> # install wasm-pack
> RUN cargo install wasm-pack
> 
> # retrieve the project dir
> RUN curl https://codeload.github.com/arctic-hen7/perseus/tar.gz/main | tar -xz --strip=2 perseus-main/examples/basic
> 
> # go to src dir
> WORKDIR /app/basic
> 
> # remove perseus from repo
> RUN rm -rf .perseus/
> 
> # install perseus-cli
> RUN cargo install perseus-cli --version 0.3.0-beta.9
> 
> # adjust perseus version
> RUN sed -i s'/perseus = .*/perseus = "0.3.0-beta.9"/' ./Cargo.toml
> 
> ENV PERSEUS_STANDALONE=true
> 
> # deploy app
> RUN perseus deploy
> 
> # prepare deployment image
> FROM rust:1.55-slim
> 
> WORKDIR /app
> 
> ENV PERSEUS_STANDALONE=true
> 
> COPY --from=build /app/basic /app/
> 
> CMD ["/app/pkg/server"]
> EOL
user@debian:~$ docker build -t perseus-basic:2021-10-15 ./perseus-deploy
Sending build context to Docker daemon   2.56kB
Step 1/17 : FROM rust:1.55-slim AS build
1.55-slim: Pulling from library/rust
7d63c13d9b9b: Pull complete 
963cfbe0bf32: Pull complete 
Digest: sha256:1ee75015d02a52243217fd9e9e9ca4482ce677dc31e0248d80b4b7ce485a2cbb
Status: Downloaded newer image for rust:1.55-slim
 ---> 1ee58c5365b4
Step 2/17 : RUN apt update && apt install -y --no-install-recommends lsb-release apt-transport-https git inotify-tools ca-certificates build-essential make gcc curl
 ---> Running in 31f2f9aa38e5

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Get:1 http://security.debian.org/debian-security bullseye-security InRelease [44.1 kB]
Get:2 http://deb.debian.org/debian bullseye InRelease [116 kB]
Get:3 http://deb.debian.org/debian bullseye-updates InRelease [39.4 kB]
Get:4 http://security.debian.org/debian-security bullseye-security/main amd64 Packages [48.0 kB]
Get:5 http://deb.debian.org/debian bullseye/main amd64 Packages [8180 kB]
Get:6 http://deb.debian.org/debian bullseye-updates/main amd64 Packages [2300 B]
Fetched 8430 kB in 4s (2323 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
All packages are up to date.

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
ca-certificates is already the newest version (20210119).
gcc is already the newest version (4:10.2.1-1).
The following additional packages will be installed:
  bzip2 distro-info-data dpkg-dev g++ g++-10 git-man libbrotli1
  libcurl3-gnutls libcurl4 libdpkg-perl liberror-perl libexpat1
  libgdbm-compat4 libgdbm6 libinotifytools0 libldap-2.4-2 libmpdec3
  libncursesw6 libnghttp2-14 libperl5.32 libpsl5 libpython3-stdlib
  libpython3.9-minimal libpython3.9-stdlib libreadline8 librtmp1 libsasl2-2
  libsasl2-modules-db libsqlite3-0 libssh2-1 libstdc++-10-dev media-types
  patch perl perl-modules-5.32 python3 python3-minimal python3.9
  python3.9-minimal readline-common xz-utils
Suggested packages:
  bzip2-doc debian-keyring g++-multilib g++-10-multilib gcc-10-doc
  gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-el git-email
  git-gui gitk gitweb git-cvs git-mediawiki git-svn gnupg sensible-utils bzr
  gdbm-l10n libstdc++-10-doc make-doc ed diffutils-doc perl-doc
  libterm-readline-gnu-perl | libterm-readline-perl-perl
  libtap-harness-archive-perl python3-doc python3-tk python3-venv
  python3.9-venv python3.9-doc binfmt-support readline-doc
Recommended packages:
  fakeroot gnupg libalgorithm-merge-perl less ssh-client
  libfile-fcntllock-perl liblocale-gettext-perl libldap-common libgpm2
  publicsuffix libsasl2-modules netbase
The following NEW packages will be installed:
  apt-transport-https build-essential bzip2 curl distro-info-data dpkg-dev g++
  g++-10 git git-man inotify-tools libbrotli1 libcurl3-gnutls libcurl4
  libdpkg-perl liberror-perl libexpat1 libgdbm-compat4 libgdbm6
  libinotifytools0 libldap-2.4-2 libmpdec3 libncursesw6 libnghttp2-14
  libperl5.32 libpsl5 libpython3-stdlib libpython3.9-minimal
  libpython3.9-stdlib libreadline8 librtmp1 libsasl2-2 libsasl2-modules-db
  libsqlite3-0 libssh2-1 libstdc++-10-dev lsb-release make media-types patch
  perl perl-modules-5.32 python3 python3-minimal python3.9 python3.9-minimal
  readline-common xz-utils
0 upgraded, 48 newly installed, 0 to remove and 0 not upgraded.
Need to get 38.9 MB of archives.
After this operation, 167 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bullseye/main amd64 perl-modules-5.32 all 5.32.1-4+deb11u2 [2823 kB]
Get:2 http://deb.debian.org/debian bullseye/main amd64 libgdbm6 amd64 1.19-2 [64.9 kB]
Get:3 http://deb.debian.org/debian bullseye/main amd64 libgdbm-compat4 amd64 1.19-2 [44.7 kB]
Get:4 http://deb.debian.org/debian bullseye/main amd64 libperl5.32 amd64 5.32.1-4+deb11u2 [4106 kB]
Get:5 http://deb.debian.org/debian bullseye/main amd64 perl amd64 5.32.1-4+deb11u2 [293 kB]
Get:6 http://deb.debian.org/debian bullseye/main amd64 libpython3.9-minimal amd64 3.9.2-1 [801 kB]
Get:7 http://deb.debian.org/debian bullseye/main amd64 libexpat1 amd64 2.2.10-2 [96.9 kB]
Get:8 http://deb.debian.org/debian bullseye/main amd64 python3.9-minimal amd64 3.9.2-1 [1955 kB]
Get:9 http://deb.debian.org/debian bullseye/main amd64 python3-minimal amd64 3.9.2-3 [38.2 kB]
Get:10 http://deb.debian.org/debian bullseye/main amd64 media-types all 4.0.0 [30.3 kB]
Get:11 http://deb.debian.org/debian bullseye/main amd64 libmpdec3 amd64 2.5.1-1 [87.7 kB]
Get:12 http://deb.debian.org/debian bullseye/main amd64 libncursesw6 amd64 6.2+20201114-2 [132 kB]
Get:13 http://deb.debian.org/debian bullseye/main amd64 readline-common all 8.1-1 [73.7 kB]
Get:14 http://deb.debian.org/debian bullseye/main amd64 libreadline8 amd64 8.1-1 [169 kB]
Get:15 http://deb.debian.org/debian bullseye/main amd64 libsqlite3-0 amd64 3.34.1-3 [797 kB]
Get:16 http://deb.debian.org/debian bullseye/main amd64 libpython3.9-stdlib amd64 3.9.2-1 [1684 kB]
Get:17 http://deb.debian.org/debian bullseye/main amd64 python3.9 amd64 3.9.2-1 [466 kB]
Get:18 http://deb.debian.org/debian bullseye/main amd64 libpython3-stdlib amd64 3.9.2-3 [21.4 kB]
Get:19 http://deb.debian.org/debian bullseye/main amd64 python3 amd64 3.9.2-3 [37.9 kB]
Get:20 http://deb.debian.org/debian bullseye/main amd64 bzip2 amd64 1.0.8-4 [49.3 kB]
Get:21 http://deb.debian.org/debian bullseye/main amd64 xz-utils amd64 5.2.5-2 [220 kB]
Get:22 http://deb.debian.org/debian bullseye/main amd64 apt-transport-https all 2.2.4 [160 kB]
Get:23 http://deb.debian.org/debian bullseye/main amd64 libstdc++-10-dev amd64 10.2.1-6 [1741 kB]
Get:24 http://deb.debian.org/debian bullseye/main amd64 g++-10 amd64 10.2.1-6 [9380 kB]
Get:25 http://deb.debian.org/debian bullseye/main amd64 g++ amd64 4:10.2.1-1 [1644 B]
Get:26 http://deb.debian.org/debian bullseye/main amd64 make amd64 4.3-4.1 [396 kB]
Get:27 http://deb.debian.org/debian bullseye/main amd64 libdpkg-perl all 1.20.9 [1537 kB]
Get:28 http://deb.debian.org/debian bullseye/main amd64 patch amd64 2.7.6-7 [128 kB]
Get:29 http://deb.debian.org/debian bullseye/main amd64 dpkg-dev all 1.20.9 [2153 kB]
Get:30 http://deb.debian.org/debian bullseye/main amd64 build-essential amd64 12.9 [7704 B]
Get:31 http://deb.debian.org/debian bullseye/main amd64 libbrotli1 amd64 1.0.9-2+b2 [279 kB]
Get:32 http://deb.debian.org/debian bullseye/main amd64 libsasl2-modules-db amd64 2.1.27+dfsg-2.1 [69.1 kB]
Get:33 http://deb.debian.org/debian bullseye/main amd64 libsasl2-2 amd64 2.1.27+dfsg-2.1 [106 kB]
Get:34 http://deb.debian.org/debian bullseye/main amd64 libldap-2.4-2 amd64 2.4.57+dfsg-3 [232 kB]
Get:35 http://deb.debian.org/debian bullseye/main amd64 libnghttp2-14 amd64 1.43.0-1 [77.1 kB]
Get:36 http://deb.debian.org/debian bullseye/main amd64 libpsl5 amd64 0.21.0-1.2 [57.3 kB]
Get:37 http://deb.debian.org/debian bullseye/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-2+b2 [60.8 kB]
Get:38 http://deb.debian.org/debian bullseye/main amd64 libssh2-1 amd64 1.9.0-2 [156 kB]
Get:39 http://deb.debian.org/debian bullseye/main amd64 libcurl4 amd64 7.74.0-1.3+b1 [341 kB]
Get:40 http://deb.debian.org/debian bullseye/main amd64 curl amd64 7.74.0-1.3+b1 [267 kB]
Get:41 http://deb.debian.org/debian bullseye/main amd64 distro-info-data all 0.51 [7508 B]
Get:42 http://deb.debian.org/debian bullseye/main amd64 libcurl3-gnutls amd64 7.74.0-1.3+b1 [338 kB]
Get:43 http://deb.debian.org/debian bullseye/main amd64 liberror-perl all 0.17029-1 [31.0 kB]
Get:44 http://deb.debian.org/debian bullseye/main amd64 git-man all 1:2.30.2-1 [1827 kB]
Get:45 http://deb.debian.org/debian bullseye/main amd64 git amd64 1:2.30.2-1 [5527 kB]
Get:46 http://deb.debian.org/debian bullseye/main amd64 libinotifytools0 amd64 3.14-8.1 [18.9 kB]
Get:47 http://deb.debian.org/debian bullseye/main amd64 inotify-tools amd64 3.14-8.1 [25.9 kB]
Get:48 http://deb.debian.org/debian bullseye/main amd64 lsb-release all 11.1.0 [27.9 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 38.9 MB in 10s (4013 kB/s)
Selecting previously unselected package perl-modules-5.32.
(Reading database ... 9284 files and directories currently installed.)
Preparing to unpack .../0-perl-modules-5.32_5.32.1-4+deb11u2_all.deb ...
Unpacking perl-modules-5.32 (5.32.1-4+deb11u2) ...
Selecting previously unselected package libgdbm6:amd64.
Preparing to unpack .../1-libgdbm6_1.19-2_amd64.deb ...
Unpacking libgdbm6:amd64 (1.19-2) ...
Selecting previously unselected package libgdbm-compat4:amd64.
Preparing to unpack .../2-libgdbm-compat4_1.19-2_amd64.deb ...
Unpacking libgdbm-compat4:amd64 (1.19-2) ...
Selecting previously unselected package libperl5.32:amd64.
Preparing to unpack .../3-libperl5.32_5.32.1-4+deb11u2_amd64.deb ...
Unpacking libperl5.32:amd64 (5.32.1-4+deb11u2) ...
Selecting previously unselected package perl.
Preparing to unpack .../4-perl_5.32.1-4+deb11u2_amd64.deb ...
Unpacking perl (5.32.1-4+deb11u2) ...
Selecting previously unselected package libpython3.9-minimal:amd64.
Preparing to unpack .../5-libpython3.9-minimal_3.9.2-1_amd64.deb ...
Unpacking libpython3.9-minimal:amd64 (3.9.2-1) ...
Selecting previously unselected package libexpat1:amd64.
Preparing to unpack .../6-libexpat1_2.2.10-2_amd64.deb ...
Unpacking libexpat1:amd64 (2.2.10-2) ...
Selecting previously unselected package python3.9-minimal.
Preparing to unpack .../7-python3.9-minimal_3.9.2-1_amd64.deb ...
Unpacking python3.9-minimal (3.9.2-1) ...
Setting up libpython3.9-minimal:amd64 (3.9.2-1) ...
Setting up libexpat1:amd64 (2.2.10-2) ...
Setting up python3.9-minimal (3.9.2-1) ...
Selecting previously unselected package python3-minimal.
(Reading database ... 11549 files and directories currently installed.)
Preparing to unpack .../0-python3-minimal_3.9.2-3_amd64.deb ...
Unpacking python3-minimal (3.9.2-3) ...
Selecting previously unselected package media-types.
Preparing to unpack .../1-media-types_4.0.0_all.deb ...
Unpacking media-types (4.0.0) ...
Selecting previously unselected package libmpdec3:amd64.
Preparing to unpack .../2-libmpdec3_2.5.1-1_amd64.deb ...
Unpacking libmpdec3:amd64 (2.5.1-1) ...
Selecting previously unselected package libncursesw6:amd64.
Preparing to unpack .../3-libncursesw6_6.2+20201114-2_amd64.deb ...
Unpacking libncursesw6:amd64 (6.2+20201114-2) ...
Selecting previously unselected package readline-common.
Preparing to unpack .../4-readline-common_8.1-1_all.deb ...
Unpacking readline-common (8.1-1) ...
Selecting previously unselected package libreadline8:amd64.
Preparing to unpack .../5-libreadline8_8.1-1_amd64.deb ...
Unpacking libreadline8:amd64 (8.1-1) ...
Selecting previously unselected package libsqlite3-0:amd64.
Preparing to unpack .../6-libsqlite3-0_3.34.1-3_amd64.deb ...
Unpacking libsqlite3-0:amd64 (3.34.1-3) ...
Selecting previously unselected package libpython3.9-stdlib:amd64.
Preparing to unpack .../7-libpython3.9-stdlib_3.9.2-1_amd64.deb ...
Unpacking libpython3.9-stdlib:amd64 (3.9.2-1) ...
Selecting previously unselected package python3.9.
Preparing to unpack .../8-python3.9_3.9.2-1_amd64.deb ...
Unpacking python3.9 (3.9.2-1) ...
Selecting previously unselected package libpython3-stdlib:amd64.
Preparing to unpack .../9-libpython3-stdlib_3.9.2-3_amd64.deb ...
Unpacking libpython3-stdlib:amd64 (3.9.2-3) ...
Setting up python3-minimal (3.9.2-3) ...
Selecting previously unselected package python3.
(Reading database ... 11987 files and directories currently installed.)
Preparing to unpack .../00-python3_3.9.2-3_amd64.deb ...
Unpacking python3 (3.9.2-3) ...
Selecting previously unselected package bzip2.
Preparing to unpack .../01-bzip2_1.0.8-4_amd64.deb ...
Unpacking bzip2 (1.0.8-4) ...
Selecting previously unselected package xz-utils.
Preparing to unpack .../02-xz-utils_5.2.5-2_amd64.deb ...
Unpacking xz-utils (5.2.5-2) ...
Selecting previously unselected package apt-transport-https.
Preparing to unpack .../03-apt-transport-https_2.2.4_all.deb ...
Unpacking apt-transport-https (2.2.4) ...
Selecting previously unselected package libstdc++-10-dev:amd64.
Preparing to unpack .../04-libstdc++-10-dev_10.2.1-6_amd64.deb ...
Unpacking libstdc++-10-dev:amd64 (10.2.1-6) ...
Selecting previously unselected package g++-10.
Preparing to unpack .../05-g++-10_10.2.1-6_amd64.deb ...
Unpacking g++-10 (10.2.1-6) ...
Selecting previously unselected package g++.
Preparing to unpack .../06-g++_4%3a10.2.1-1_amd64.deb ...
Unpacking g++ (4:10.2.1-1) ...
Selecting previously unselected package make.
Preparing to unpack .../07-make_4.3-4.1_amd64.deb ...
Unpacking make (4.3-4.1) ...
Selecting previously unselected package libdpkg-perl.
Preparing to unpack .../08-libdpkg-perl_1.20.9_all.deb ...
Unpacking libdpkg-perl (1.20.9) ...
Selecting previously unselected package patch.
Preparing to unpack .../09-patch_2.7.6-7_amd64.deb ...
Unpacking patch (2.7.6-7) ...
Selecting previously unselected package dpkg-dev.
Preparing to unpack .../10-dpkg-dev_1.20.9_all.deb ...
Unpacking dpkg-dev (1.20.9) ...
Selecting previously unselected package build-essential.
Preparing to unpack .../11-build-essential_12.9_amd64.deb ...
Unpacking build-essential (12.9) ...
Selecting previously unselected package libbrotli1:amd64.
Preparing to unpack .../12-libbrotli1_1.0.9-2+b2_amd64.deb ...
Unpacking libbrotli1:amd64 (1.0.9-2+b2) ...
Selecting previously unselected package libsasl2-modules-db:amd64.
Preparing to unpack .../13-libsasl2-modules-db_2.1.27+dfsg-2.1_amd64.deb ...
Unpacking libsasl2-modules-db:amd64 (2.1.27+dfsg-2.1) ...
Selecting previously unselected package libsasl2-2:amd64.
Preparing to unpack .../14-libsasl2-2_2.1.27+dfsg-2.1_amd64.deb ...
Unpacking libsasl2-2:amd64 (2.1.27+dfsg-2.1) ...
Selecting previously unselected package libldap-2.4-2:amd64.
Preparing to unpack .../15-libldap-2.4-2_2.4.57+dfsg-3_amd64.deb ...
Unpacking libldap-2.4-2:amd64 (2.4.57+dfsg-3) ...
Selecting previously unselected package libnghttp2-14:amd64.
Preparing to unpack .../16-libnghttp2-14_1.43.0-1_amd64.deb ...
Unpacking libnghttp2-14:amd64 (1.43.0-1) ...
Selecting previously unselected package libpsl5:amd64.
Preparing to unpack .../17-libpsl5_0.21.0-1.2_amd64.deb ...
Unpacking libpsl5:amd64 (0.21.0-1.2) ...
Selecting previously unselected package librtmp1:amd64.
Preparing to unpack .../18-librtmp1_2.4+20151223.gitfa8646d.1-2+b2_amd64.deb ...
Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b2) ...
Selecting previously unselected package libssh2-1:amd64.
Preparing to unpack .../19-libssh2-1_1.9.0-2_amd64.deb ...
Unpacking libssh2-1:amd64 (1.9.0-2) ...
Selecting previously unselected package libcurl4:amd64.
Preparing to unpack .../20-libcurl4_7.74.0-1.3+b1_amd64.deb ...
Unpacking libcurl4:amd64 (7.74.0-1.3+b1) ...
Selecting previously unselected package curl.
Preparing to unpack .../21-curl_7.74.0-1.3+b1_amd64.deb ...
Unpacking curl (7.74.0-1.3+b1) ...
Selecting previously unselected package distro-info-data.
Preparing to unpack .../22-distro-info-data_0.51_all.deb ...
Unpacking distro-info-data (0.51) ...
Selecting previously unselected package libcurl3-gnutls:amd64.
Preparing to unpack .../23-libcurl3-gnutls_7.74.0-1.3+b1_amd64.deb ...
Unpacking libcurl3-gnutls:amd64 (7.74.0-1.3+b1) ...
Selecting previously unselected package liberror-perl.
Preparing to unpack .../24-liberror-perl_0.17029-1_all.deb ...
Unpacking liberror-perl (0.17029-1) ...
Selecting previously unselected package git-man.
Preparing to unpack .../25-git-man_1%3a2.30.2-1_all.deb ...
Unpacking git-man (1:2.30.2-1) ...
Selecting previously unselected package git.
Preparing to unpack .../26-git_1%3a2.30.2-1_amd64.deb ...
Unpacking git (1:2.30.2-1) ...
Selecting previously unselected package libinotifytools0:amd64.
Preparing to unpack .../27-libinotifytools0_3.14-8.1_amd64.deb ...
Unpacking libinotifytools0:amd64 (3.14-8.1) ...
Selecting previously unselected package inotify-tools.
Preparing to unpack .../28-inotify-tools_3.14-8.1_amd64.deb ...
Unpacking inotify-tools (3.14-8.1) ...
Selecting previously unselected package lsb-release.
Preparing to unpack .../29-lsb-release_11.1.0_all.deb ...
Unpacking lsb-release (11.1.0) ...
Setting up media-types (4.0.0) ...
Setting up libinotifytools0:amd64 (3.14-8.1) ...
Setting up libpsl5:amd64 (0.21.0-1.2) ...
Setting up libstdc++-10-dev:amd64 (10.2.1-6) ...
Setting up g++-10 (10.2.1-6) ...
Setting up apt-transport-https (2.2.4) ...
Setting up distro-info-data (0.51) ...
Setting up perl-modules-5.32 (5.32.1-4+deb11u2) ...
Setting up libbrotli1:amd64 (1.0.9-2+b2) ...
Setting up libsqlite3-0:amd64 (3.34.1-3) ...
Setting up libnghttp2-14:amd64 (1.43.0-1) ...
Setting up bzip2 (1.0.8-4) ...
Setting up libsasl2-modules-db:amd64 (2.1.27+dfsg-2.1) ...
Setting up make (4.3-4.1) ...
Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b2) ...
Setting up xz-utils (5.2.5-2) ...
update-alternatives: using /usr/bin/xz to provide /usr/bin/lzma (lzma) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/lzma.1.gz because associated file /usr/share/man/man1/xz.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/unlzma.1.gz because associated file /usr/share/man/man1/unxz.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzcat.1.gz because associated file /usr/share/man/man1/xzcat.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzmore.1.gz because associated file /usr/share/man/man1/xzmore.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzless.1.gz because associated file /usr/share/man/man1/xzless.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzdiff.1.gz because associated file /usr/share/man/man1/xzdiff.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzcmp.1.gz because associated file /usr/share/man/man1/xzcmp.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzgrep.1.gz because associated file /usr/share/man/man1/xzgrep.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzegrep.1.gz because associated file /usr/share/man/man1/xzegrep.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzfgrep.1.gz because associated file /usr/share/man/man1/xzfgrep.1.gz (of link group lzma) doesn't exist
Setting up patch (2.7.6-7) ...
Setting up libncursesw6:amd64 (6.2+20201114-2) ...
Setting up libsasl2-2:amd64 (2.1.27+dfsg-2.1) ...
Setting up inotify-tools (3.14-8.1) ...
Setting up g++ (4:10.2.1-1) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
Setting up libmpdec3:amd64 (2.5.1-1) ...
Setting up git-man (1:2.30.2-1) ...
Setting up libssh2-1:amd64 (1.9.0-2) ...
Setting up readline-common (8.1-1) ...
Setting up libgdbm6:amd64 (1.19-2) ...
Setting up libreadline8:amd64 (8.1-1) ...
Setting up libldap-2.4-2:amd64 (2.4.57+dfsg-3) ...
Setting up libcurl3-gnutls:amd64 (7.74.0-1.3+b1) ...
Setting up libgdbm-compat4:amd64 (1.19-2) ...
Setting up libperl5.32:amd64 (5.32.1-4+deb11u2) ...
Setting up libcurl4:amd64 (7.74.0-1.3+b1) ...
Setting up curl (7.74.0-1.3+b1) ...
Setting up libpython3.9-stdlib:amd64 (3.9.2-1) ...
Setting up libpython3-stdlib:amd64 (3.9.2-3) ...
Setting up perl (5.32.1-4+deb11u2) ...
Setting up libdpkg-perl (1.20.9) ...
Setting up python3.9 (3.9.2-1) ...
Setting up python3 (3.9.2-3) ...
running python rtupdate hooks for python3.9...
running python post-rtupdate hooks for python3.9...
Setting up dpkg-dev (1.20.9) ...
Setting up liberror-perl (0.17029-1) ...
Setting up git (1:2.30.2-1) ...
Setting up build-essential (12.9) ...
Setting up lsb-release (11.1.0) ...
Processing triggers for libc-bin (2.31-13+deb11u2) ...
Removing intermediate container 31f2f9aa38e5
 ---> 41b4d9a9ba9d
Step 3/17 : WORKDIR /app
 ---> Running in 6a292e850bdf
Removing intermediate container 6a292e850bdf
 ---> 711890f84779
Step 4/17 : RUN rustup target add wasm32-unknown-unknown
 ---> Running in 5c7d203affef
info: downloading component 'rust-std' for 'wasm32-unknown-unknown'
info: installing component 'rust-std' for 'wasm32-unknown-unknown'
Removing intermediate container 5c7d203affef
 ---> ec80e759f7fe
Step 5/17 : RUN cargo install wasm-pack
 ---> Running in d057f27b906a
    Updating crates.io index
 Downloading crates ...
  Downloaded wasm-pack v0.10.1
  Installing wasm-pack v0.10.1
 Downloading crates ...
  Downloaded addr2line v0.16.0
  Downloaded dialoguer v0.3.0
  Downloaded env_logger v0.5.13
  Downloaded failure v0.1.8
  Downloaded filetime v0.2.15
  Downloaded flate2 v1.0.22
  Downloaded fnv v1.0.7
  Downloaded tokio-timer v0.2.13
  Downloaded unicode-bidi v0.3.7
  Downloaded httparse v1.5.1
  Downloaded hex v0.3.2
  Downloaded glob v0.2.11
  Downloaded tokio-current-thread v0.1.7
  Downloaded thiserror v1.0.30
  Downloaded clicolors-control v0.2.0
  Downloaded lock_api v0.3.4
  Downloaded base64 v0.10.1
  Downloaded http v0.1.21
  Downloaded instant v0.1.11
  Downloaded humantime v1.3.0
  Downloaded iovec v0.1.4
  Downloaded cargo_metadata v0.8.2
  Downloaded is_executable v0.1.2
  Downloaded lazy_static v0.2.11
  Downloaded itoa v0.4.8
  Downloaded lock_api v0.1.5
  Downloaded matches v0.1.9
  Downloaded memoffset v0.5.6
  Downloaded percent-encoding v1.0.1
  Downloaded parking_lot_core v0.3.1
  Downloaded percent-encoding v2.1.0
  Downloaded parking_lot_core v0.8.5
  Downloaded adler v1.0.2
  Downloaded aho-corasick v0.7.18
  Downloaded binary-install v0.0.2
  Downloaded atty v0.2.14
  Downloaded backtrace v0.3.61
  Downloaded bytes v0.4.12
  Downloaded rustc-demangle v0.1.21
  Downloaded scopeguard v0.3.3
  Downloaded quick-error v1.2.3
  Downloaded rand_xorshift v0.1.1
  Downloaded cfg-if v1.0.0
  Downloaded console v0.6.2
  Downloaded cfg-if v0.1.10
  Downloaded regex v1.5.4
  Downloaded console v0.15.0
  Downloaded crc32fast v1.2.1
  Downloaded cookie_store v0.7.0
  Downloaded cookie v0.12.0
  Downloaded proc-macro2 v1.0.30
  Downloaded crossbeam-deque v0.7.4
  Downloaded serde_ignored v0.0.4
  Downloaded serde v1.0.130
  Downloaded quote v1.0.10
  Downloaded os_type v2.3.0
  Downloaded serde_derive v1.0.130
  Downloaded once_cell v1.8.0
  Downloaded libc v0.2.103
  Downloaded stable_deref_trait v1.2.0
  Downloaded smallvec v0.6.14
  Downloaded serde_json v1.0.68
  Downloaded cc v1.0.71
  Downloaded tempfile v2.2.0
  Downloaded tokio v0.1.22
  Downloaded termcolor v1.1.2
  Downloaded tinyvec_macros v0.1.0
  Downloaded slab v0.4.5
  Downloaded tar v0.4.37
  Downloaded tokio-executor v0.1.10
  Downloaded chrono v0.4.19
  Downloaded tokio-io v0.1.13
  Downloaded tokio-tcp v0.1.4
  Downloaded tokio-sync v0.1.8
  Downloaded toml v0.5.8
  Downloaded unicode-xid v0.2.2
  Downloaded try_from v0.3.2
  Downloaded try-lock v0.2.3
  Downloaded unicode-segmentation v1.8.0
  Downloaded proc-macro-error-attr v1.0.4
  Downloaded unicode-normalization v0.1.19
  Downloaded num-integer v0.1.44
  Downloaded clap v2.33.3
  Downloaded url v1.7.2
  Downloaded url v2.2.2
  Downloaded uuid v0.7.4
  Downloaded crossbeam-queue v0.2.3
  Downloaded crossbeam-epoch v0.8.2
  Downloaded vec_map v0.8.2
  Downloaded curl v0.4.39
  Downloaded xattr v0.2.2
  Downloaded walkdir v2.3.2
  Downloaded zip v0.5.13
  Downloaded uuid v0.8.2
  Downloaded which v2.0.1
  Downloaded version_check v0.9.3
  Downloaded unicase v2.6.0
  Downloaded failure_derive v0.1.8
  Downloaded dirs v1.0.5
  Downloaded form_urlencoded v1.0.1
  Downloaded parking_lot v0.11.2
  Downloaded structopt v0.3.23
  Downloaded unicode-width v0.1.9
  Downloaded thiserror-impl v1.0.30
  Downloaded futures v0.1.31
  Downloaded publicsuffix v1.5.6
  Downloaded mio v0.6.23
  Downloaded time v0.1.43
  Downloaded termios v0.3.3
  Downloaded libz-sys v1.1.3
  Downloaded toml v0.4.10
  Downloaded want v0.2.0
  Downloaded miniz_oxide v0.4.4
  Downloaded http-body v0.1.0
  Downloaded dtoa v0.4.8
  Downloaded bzip2 v0.4.3
  Downloaded rand v0.4.6
  Downloaded heck v0.3.3
  Downloaded rand v0.5.6
  Downloaded autocfg v1.0.1
  Downloaded byteorder v1.4.3
  Downloaded hashbrown v0.11.2
  Downloaded rand v0.3.23
  Downloaded num_cpus v1.13.0
  Downloaded memchr v2.4.1
  Downloaded mime v0.3.16
  Downloaded serde_urlencoded v0.5.5
  Downloaded semver-parser v0.7.0
  Downloaded openssl-probe v0.1.4
  Downloaded net2 v0.2.37
  Downloaded hyper v0.12.36
  Downloaded native-tls v0.2.8
  Downloaded hyper-tls v0.3.2
  Downloaded openssl v0.10.36
  Downloaded human-panic v1.0.3
  Downloaded string v0.2.1
  Downloaded siphasher v0.2.3
  Downloaded pkg-config v0.3.20
  Downloaded indexmap v1.7.0
  Downloaded socket2 v0.4.2
  Downloaded textwrap v0.11.0
  Downloaded foreign-types-shared v0.1.1
  Downloaded foreign-types v0.3.2
  Downloaded ryu v1.0.5
  Downloaded openssl-sys v0.9.67
  Downloaded log v0.4.14
  Downloaded lock_api v0.4.5
  Downloaded getrandom v0.2.3
  Downloaded mime_guess v2.0.3
  Downloaded proc-macro-error v1.0.4
  Downloaded futures-cpupool v0.1.8
  Downloaded num-traits v0.2.14
  Downloaded terminal_size v0.1.17
  Downloaded rand_isaac v0.1.1
  Downloaded tinyvec v1.5.0
  Downloaded lazy_static v1.4.0
  Downloaded rand_os v0.1.3
  Downloaded rand_core v0.4.2
  Downloaded rand_hc v0.1.0
  Downloaded rand v0.6.5
  Downloaded synstructure v0.12.6
  Downloaded crossbeam-utils v0.7.2
  Downloaded idna v0.2.3
  Downloaded maybe-uninit v2.0.0
  Downloaded idna v0.1.5
  Downloaded semver v0.9.0
  Downloaded same-file v1.0.6
  Downloaded object v0.26.2
  Downloaded scopeguard v1.1.0
  Downloaded rand_chacha v0.1.1
  Downloaded h2 v0.1.26
  Downloaded gimli v0.25.0
  Downloaded tokio-threadpool v0.1.18
  Downloaded bitflags v1.3.2
  Downloaded ansi_term v0.11.0
  Downloaded reqwest v0.9.24
  Downloaded rand_jitter v0.1.4
  Downloaded parking_lot v0.6.4
  Downloaded syn v1.0.80
  Downloaded owning_ref v0.4.1
  Downloaded tokio-reactor v0.1.12
  Downloaded rand_pcg v0.1.2
  Downloaded rand_core v0.3.1
  Downloaded parking_lot v0.9.0
  Downloaded tokio-buf v0.1.1
  Downloaded strsim v0.8.0
  Downloaded autocfg v0.1.7
  Downloaded structopt-derive v0.4.16
  Downloaded rustc_version v0.2.3
  Downloaded smallvec v1.7.0
  Downloaded either v1.6.1
  Downloaded parking_lot_core v0.6.2
  Downloaded regex-syntax v0.6.25
  Downloaded bzip2-sys v0.1.11+1.0.8
  Downloaded openssl-src v111.16.0+1.1.1l
  Downloaded encoding_rs v0.8.28
  Downloaded curl-sys v0.4.49+curl-7.79.1
   Compiling libc v0.2.103
   Compiling autocfg v1.0.1
   Compiling proc-macro2 v1.0.30
   Compiling unicode-xid v0.2.2
   Compiling syn v1.0.80
   Compiling serde v1.0.130
   Compiling cfg-if v1.0.0
   Compiling serde_derive v1.0.130
   Compiling cc v1.0.71
   Compiling pkg-config v0.3.20
   Compiling cfg-if v0.1.10
   Compiling semver-parser v0.7.0
   Compiling maybe-uninit v2.0.0
   Compiling futures v0.1.31
   Compiling version_check v0.9.3
   Compiling lazy_static v1.4.0
   Compiling memchr v2.4.1
   Compiling log v0.4.14
   Compiling byteorder v1.4.3
   Compiling rand_core v0.4.2
   Compiling scopeguard v1.1.0
   Compiling either v1.6.1
   Compiling tinyvec_macros v0.1.0
   Compiling autocfg v0.1.7
   Compiling itoa v0.4.8
   Compiling slab v0.4.5
   Compiling matches v0.1.9
   Compiling adler v1.0.2
   Compiling fnv v1.0.7
   Compiling unicode-bidi v0.3.7
   Compiling gimli v0.25.0
   Compiling failure_derive v0.1.8
   Compiling rustc-demangle v0.1.21
   Compiling once_cell v1.8.0
   Compiling regex-syntax v0.6.25
   Compiling ryu v1.0.5
   Compiling bitflags v1.3.2
   Compiling unicode-width v0.1.9
   Compiling crc32fast v1.2.1
   Compiling hashbrown v0.11.2
   Compiling serde_json v1.0.68
   Compiling openssl-probe v0.1.4
   Compiling percent-encoding v1.0.1
   Compiling percent-encoding v2.1.0
   Compiling openssl v0.10.36
   Compiling httparse v1.5.1
   Compiling foreign-types-shared v0.1.1
   Compiling native-tls v0.2.8
   Compiling parking_lot_core v0.8.5
   Compiling try-lock v0.2.3
   Compiling smallvec v1.7.0
   Compiling unicode-segmentation v1.8.0
   Compiling encoding_rs v0.8.28
   Compiling stable_deref_trait v1.2.0
   Compiling curl v0.4.39
   Compiling dtoa v0.4.8
   Compiling ansi_term v0.11.0
   Compiling mime v0.3.16
   Compiling vec_map v0.8.2
   Compiling lazy_static v0.2.11
   Compiling termcolor v1.1.2
   Compiling scopeguard v0.3.3
   Compiling strsim v0.8.0
   Compiling quick-error v1.2.3
   Compiling is_executable v0.1.2
   Compiling siphasher v0.2.3
   Compiling hex v0.3.2
   Compiling same-file v1.0.6
   Compiling glob v0.2.11
   Compiling instant v0.1.11
   Compiling try_from v0.3.2
   Compiling crossbeam-utils v0.7.2
   Compiling miniz_oxide v0.4.4
   Compiling memoffset v0.5.6
   Compiling crossbeam-epoch v0.8.2
   Compiling indexmap v1.7.0
   Compiling num-traits v0.2.14
   Compiling num-integer v0.1.44
   Compiling openssl-src v111.16.0+1.1.1l
   Compiling lock_api v0.3.4
   Compiling lock_api v0.4.5
   Compiling unicase v2.6.0
   Compiling proc-macro-error-attr v1.0.4
   Compiling proc-macro-error v1.0.4
   Compiling tinyvec v1.5.0
   Compiling rand_core v0.3.1
   Compiling rand_jitter v0.1.4
   Compiling base64 v0.10.1
   Compiling rand_chacha v0.1.1
   Compiling rand_pcg v0.1.2
   Compiling rand v0.6.5
   Compiling tokio-sync v0.1.8
   Compiling backtrace v0.3.61
   Compiling libz-sys v1.1.3
   Compiling curl-sys v0.4.49+curl-7.79.1
   Compiling bzip2-sys v0.1.11+1.0.8
   Compiling textwrap v0.11.0
   Compiling form_urlencoded v1.0.1
   Compiling foreign-types v0.3.2
   Compiling owning_ref v0.4.1
   Compiling addr2line v0.16.0
   Compiling heck v0.3.3
   Compiling humantime v1.3.0
   Compiling walkdir v2.3.2
   Compiling openssl-sys v0.9.67
   Compiling rand_isaac v0.1.1
   Compiling rand_xorshift v0.1.1
   Compiling rand_hc v0.1.0
   Compiling unicode-normalization v0.1.19
   Compiling lock_api v0.1.5
   Compiling smallvec v0.6.14
   Compiling quote v1.0.10
   Compiling iovec v0.1.4
   Compiling time v0.1.43
   Compiling num_cpus v1.13.0
   Compiling net2 v0.2.37
   Compiling atty v0.2.14
   Compiling rand v0.4.6
   Compiling rand_os v0.1.3
   Compiling terminal_size v0.1.17
   Compiling filetime v0.2.15
   Compiling getrandom v0.2.3
   Compiling xattr v0.2.2
   Compiling rand v0.5.6
   Compiling socket2 v0.4.2
   Compiling clicolors-control v0.2.0
   Compiling dirs v1.0.5
   Compiling termios v0.3.3
   Compiling want v0.2.0
   Compiling object v0.26.2
   Compiling aho-corasick v0.7.18
   Compiling idna v0.1.5
   Compiling idna v0.2.3
   Compiling flate2 v1.0.22
   Compiling bytes v0.4.12
   Compiling futures-cpupool v0.1.8
   Compiling mio v0.6.23
   Compiling clap v2.33.3
   Compiling env_logger v0.5.13
   Compiling uuid v0.8.2
   Compiling rand v0.3.23
   Compiling parking_lot v0.11.2
   Compiling tar v0.4.37
   Compiling tokio-executor v0.1.10
   Compiling crossbeam-queue v0.2.3
   Compiling regex v1.5.4
   Compiling mime_guess v2.0.3
   Compiling url v1.7.2
   Compiling url v2.2.2
   Compiling tokio-io v0.1.13
   Compiling http v0.1.21
   Compiling tokio-buf v0.1.1
   Compiling string v0.2.1
   Compiling synstructure v0.12.6
   Compiling tempfile v2.2.0
   Compiling bzip2 v0.4.3
   Compiling tokio-timer v0.2.13
   Compiling tokio-current-thread v0.1.7
   Compiling crossbeam-deque v0.7.4
   Compiling chrono v0.4.19
   Compiling console v0.15.0
   Compiling os_type v2.3.0
   Compiling console v0.6.2
   Compiling publicsuffix v1.5.6
   Compiling cookie v0.12.0
   Compiling uuid v0.7.4
   Compiling thiserror-impl v1.0.30
   Compiling h2 v0.1.26
   Compiling http-body v0.1.0
   Compiling structopt-derive v0.4.16
   Compiling tokio-threadpool v0.1.18
   Compiling dialoguer v0.3.0
   Compiling failure v0.1.8
   Compiling thiserror v1.0.30
   Compiling structopt v0.3.23
   Compiling zip v0.5.13
   Compiling which v2.0.1
   Compiling semver v0.9.0
   Compiling serde_urlencoded v0.5.5
   Compiling toml v0.5.8
   Compiling serde_ignored v0.0.4
   Compiling toml v0.4.10
   Compiling rustc_version v0.2.3
   Compiling cookie_store v0.7.0
   Compiling cargo_metadata v0.8.2
   Compiling parking_lot_core v0.6.2
   Compiling parking_lot v0.9.0
   Compiling hyper v0.12.36
   Compiling parking_lot_core v0.3.1
   Compiling human-panic v1.0.3
   Compiling parking_lot v0.6.4
   Compiling tokio-reactor v0.1.12
   Compiling tokio-tcp v0.1.4
   Compiling tokio v0.1.22
   Compiling hyper-tls v0.3.2
   Compiling reqwest v0.9.24
   Compiling binary-install v0.0.2
   Compiling wasm-pack v0.10.1
    Finished release [optimized] target(s) in 3m 03s
  Installing /usr/local/cargo/bin/wasm-pack
   Installed package `wasm-pack v0.10.1` (executable `wasm-pack`)
Removing intermediate container d057f27b906a
 ---> b519a1fed279
Step 6/17 : RUN curl https://codeload.github.com/arctic-hen7/perseus/tar.gz/main | tar -xz --strip=2 perseus-main/examples/basic
 ---> Running in 49566188575d
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  305k    0  305k    0     0   337k      0 --:--:-- --:--:-- --:--:--  336k
Removing intermediate container 49566188575d
 ---> 3eb521250638
Step 7/17 : WORKDIR /app/basic
 ---> Running in f2d0e5a53f81
Removing intermediate container f2d0e5a53f81
 ---> 97f78cb22bb8
Step 8/17 : RUN rm -rf .perseus/
 ---> Running in 39fc27df3f82
Removing intermediate container 39fc27df3f82
 ---> 899d1514acf6
Step 9/17 : RUN cargo install perseus-cli --version 0.3.0-beta.9
 ---> Running in cf279cd747fa
 Downloading crates ...
  Downloaded perseus-cli v0.3.0-beta.9
    Updating crates.io index
  Installing perseus-cli v0.3.0-beta.9
 Downloading crates ...
  Downloaded clap_derive v3.0.0-beta.4
  Downloaded cargo_toml v0.9.2
  Downloaded textwrap v0.14.2
  Downloaded console v0.14.1
  Downloaded anyhow v1.0.44
  Downloaded clap v3.0.0-beta.4
  Downloaded fmterr v0.1.1
  Downloaded fs_extra v1.2.0
  Downloaded include_dir v0.6.2
  Downloaded os_str_bytes v3.1.0
  Downloaded number_prefix v0.4.0
  Downloaded strsim v0.10.0
  Downloaded glob v0.3.0
  Downloaded proc-macro-hack v0.5.19
  Downloaded indicatif v0.17.0-beta.1
  Downloaded include_dir_impl v0.6.2
   Compiling proc-macro2 v1.0.30
   Compiling unicode-xid v0.2.2
   Compiling syn v1.0.80
   Compiling libc v0.2.103
   Compiling version_check v0.9.3
   Compiling serde v1.0.130
   Compiling proc-macro-hack v0.5.19
   Compiling anyhow v1.0.44
   Compiling autocfg v1.0.1
   Compiling unicode-width v0.1.9
   Compiling unicode-segmentation v1.8.0
   Compiling ryu v1.0.5
   Compiling regex-syntax v0.6.25
   Compiling serde_derive v1.0.130
   Compiling lazy_static v1.4.0
   Compiling hashbrown v0.11.2
   Compiling once_cell v1.8.0
   Compiling serde_json v1.0.68
   Compiling termcolor v1.1.2
   Compiling itoa v0.4.8
   Compiling glob v0.3.0
   Compiling bitflags v1.3.2
   Compiling vec_map v0.8.2
   Compiling number_prefix v0.4.0
   Compiling strsim v0.10.0
   Compiling os_str_bytes v3.1.0
   Compiling fmterr v0.1.1
   Compiling fs_extra v1.2.0
   Compiling proc-macro-error-attr v1.0.4
   Compiling proc-macro-error v1.0.4
   Compiling textwrap v0.14.2
   Compiling indexmap v1.7.0
   Compiling heck v0.3.3
   Compiling regex v1.5.4
   Compiling quote v1.0.10
   Compiling terminal_size v0.1.17
   Compiling atty v0.2.14
   Compiling console v0.15.0
   Compiling console v0.14.1
   Compiling indicatif v0.17.0-beta.1
   Compiling toml v0.5.8
   Compiling thiserror-impl v1.0.30
   Compiling clap_derive v3.0.0-beta.4
   Compiling include_dir_impl v0.6.2
   Compiling include_dir v0.6.2
   Compiling thiserror v1.0.30
   Compiling clap v3.0.0-beta.4
   Compiling cargo_toml v0.9.2
   Compiling perseus-cli v0.3.0-beta.9
    Finished release [optimized] target(s) in 59.30s
  Installing /usr/local/cargo/bin/perseus
   Installed package `perseus-cli v0.3.0-beta.9` (executable `perseus`)
Removing intermediate container cf279cd747fa
 ---> 74bfb5b4d582
Step 10/17 : RUN sed -i s'/perseus = .*/perseus = "0.3.0-beta.9"/' ./Cargo.toml
 ---> Running in 5988aa0449d1
Removing intermediate container 5988aa0449d1
 ---> b7d47f54cc8b
Step 11/17 : ENV PERSEUS_STANDALONE=true
 ---> Running in ba8d62b8435a
Removing intermediate container ba8d62b8435a
 ---> 7bac7193e44e
Step 12/17 : RUN perseus deploy
 ---> Running in 70ca99ce18cf
Not running server because `--no-run` was provided. You can run it manually by running the following executable in `.perseus/server/`.
/app/basic/.perseus/target/release/perseus-cli-server

Deployment complete 🚀! Your app is now available for serving in the standalone folder 'pkg'! You can run it by executing the `server` binary in that folder with the `PERSEUS_STANDALONE` environment variable set to `true`.
Removing intermediate container 70ca99ce18cf
 ---> 08d1bc4a4e1b
Step 13/17 : FROM rust:1.55-slim
 ---> 1ee58c5365b4
Step 14/17 : WORKDIR /app
 ---> Running in b3c5d1bcda94
Removing intermediate container b3c5d1bcda94
 ---> bdcaf7d4b216
Step 15/17 : ENV PERSEUS_STANDALONE=true
 ---> Running in e0a2a8bc2ccf
Removing intermediate container e0a2a8bc2ccf
 ---> 730a3b8c872e
Step 16/17 : COPY --from=build /app/basic /app/
 ---> a495484f0f90
Step 17/17 : CMD ["/app/pkg/server"]
 ---> Running in f2d6a736ec3c
Removing intermediate container f2d6a736ec3c
 ---> 3d63a3b54e7d
Successfully built 3d63a3b54e7d
Successfully tagged perseus-basic:2021-10-15
user@debian:~$ docker images
REPOSITORY          TAG               IMAGE ID       CREATED         SIZE
perseus-basic       2021-10-15        3d63a3b54e7d   2 minutes ago   1.68GB
<none>              <none>            08d1bc4a4e1b   2 minutes ago   2.33GB
user@debian:~$ docker run -d -p 80:80 -p 8080:8080 \
>   --name=perseus-basic perseus-basic:2021-10-15
f8587f9527931c8fd88675d47e8c2a3678fda7ab264ddf3fcb2fb832d9ece248
user@debian:~$ docker logs -f --tail 200 perseus-basic
thread 'actix-rt:worker:0' panicked at 'Couldn't get render configuration!: StoreError(NotFound { name: "./dist/render_conf.json" })', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/perseus-actix-web-0.3.0-beta.9/src/configurer.rs:72:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'actix-rt:worker:1' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/actix-web-3.3.2/src/server.rs:282:36
thread 'actix-rt:worker:2' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/actix-web-3.3.2/src/server.rs:282:36
thread 'actix-rt:worker:3' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/actix-web-3.3.2/src/server.rs:282:36
thread 'actix-rt:worker:4' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/actix-web-3.3.2/src/server.rs:282:36
thread 'actix-rt:worker:6' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/actix-web-3.3.2/src/server.rs:282:36
thread 'actix-rt:worker:5' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/actix-web-3.3.2/src/server.rs:282:36
thread 'actix-rt:worker:7' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/actix-web-3.3.2/src/server.rs:282:36

Expected behavior
No error and the web app served at http://localhost:8080/

Environment (please complete the following information):

  • Perseus Version: 0.3.0-beta.9
  • Sycamore Version: 0.6
  • OS: debian:bullseye-slim docker image
  • Browser: Not relevant
  • Browser Version: Not relevant

Additional context
Note that the Dockerfile as shown above is created using multiline cat command ending with EOL on it's own line, simply for posterity reasons. Creation of the Dockerfile doesn't need to be done this way.
Note that the FROM rust:1.55-slim call is used twice in the Dockerfile as this shows a two stage image build process producing two docker images.
Finally note that the Dockerfile downloads the basic example with curl from this repo automatically, which makes it standalone.

@arctic-hen7
Copy link
Member

Wow. First off, thank you for the detail, that's greatly appreciated! I'll begin investigating this shortly, because I'd be surprised if this isn't a bug.

@arctic-hen7 arctic-hen7 self-assigned this Oct 16, 2021
@arctic-hen7 arctic-hen7 added C-bug Category: bug P-high Priority: high S-in-design Status: in design labels Oct 16, 2021
@arctic-hen7
Copy link
Member

Okay, I'm about 90% sure this is actually really simple: you need to be in app/pkg and then execute ./server from there, because it uses the directory from which you run it as its working directory. Without Docker, I can replicate that behavior on my local system. This is basically the definition of a 'gotcha', and either needs to be fixed or documented copiously!

@arctic-hen7
Copy link
Member

This should be fixable with std::env::current_exe() if that's the case. I'll check everything against your Dockerfile in a moment, but if you can also verify that moving into app/pkg works, that'd be great.

@arctic-hen7
Copy link
Member

This seems to avoid the errors in the Dockerfile, so I'll release this as beta 11.

@phaleth
Copy link
Contributor Author

phaleth commented Oct 16, 2021

Nice. Thank you for making a new beta release so quickly. I posted everything I could cause I'd have never figured out what causes the problem and I'm really glad you did!

Now when deploying with docker, the only thing that was missing was setting the HOST env var to 0.0.0.0. Without that the web app isn't accessible from outside of the resulting docker container. Bellow is the updated Dockerfile. At the 2nd stage it now produces a rather small docker image.

Dockerfile

# get the base image
FROM rust:1.55-slim AS build

# install build dependencies
RUN apt update \
	&& apt install -y --no-install-recommends lsb-release apt-transport-https \
	git inotify-tools ca-certificates build-essential make gcc curl

# prepare root project dir
WORKDIR /app

# download the target for wasm
RUN rustup target add wasm32-unknown-unknown

# install wasm-pack
RUN cargo install wasm-pack

# retrieve the project dir
RUN curl https://codeload.github.com/arctic-hen7/perseus/tar.gz/main | tar -xz --strip=2 perseus-main/examples/basic

# go to src dir
WORKDIR /app/basic

# remove perseus from repo
RUN rm -rf .perseus/

# install perseus-cli
RUN cargo install perseus-cli --version 0.3.0-beta.11

# adjust perseus version
RUN sed -i s'/perseus = .*/perseus = "0.3.0-beta.11"/' ./Cargo.toml

# deploy app
RUN perseus deploy

# prepare deployment image
FROM debian:bullseye-slim

WORKDIR /app

COPY --from=build /app/basic/pkg /app/

ENV PERSEUS_STANDALONE=true

ENV HOST=0.0.0.0

CMD ["/app/server"]

Output of docker images

REPOSITORY          TAG               IMAGE ID       CREATED          SIZE
perseus-basic       2021-10-16        cdef870e7a10   32 seconds ago   91.8MB
<none>              <none>            d32992ff17eb   18 minutes ago   2.33GB
rust                1.55-slim         1ee58c5365b4   3 days ago       654MB
debian              bullseye-slim     dd984c2cf05c   4 days ago       80.4MB

Once I manage to add all the optimizations and deploy to a VPS, would you mind if I sent a PR documenting the docker deployment to production? Actually, I've got no idea where and how to start changing the docs, so, that should be interesting.

@arctic-hen7
Copy link
Member

My pleasure, glad I could help! Ah, I observed that too, but I thought it might be my firewall (which really hates Docker with a passion).

Please go ahead, that'd be great! I'll update the contributing page for adding to the docs, because I don't think there's actually anything about doing so yet...

@arctic-hen7
Copy link
Member

Okay, the contributing docs have been updated, and there's a new Bonnie script for working easily with the docs. Let me know in a discussion/issue (whatever's appropriate) if you have any problems.

@phaleth
Copy link
Contributor Author

phaleth commented Oct 17, 2021

Great. Thanks for the congributing page update. I'll see if I can understand any of that.

While trying to add bundle.wasm file size optimizations to the Dockerfile I ran into another problem I can't seem to be able to solve. Maybe it's cause of the fact that this time I'm deploying to a VPS and not cause of optimizations. Still not sure. I'll prolly post a new issue later today. Thank you.

arctic-hen7 added a commit that referenced this issue Jan 2, 2023
This fixes a regression from the original fix for #63.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: bug P-high Priority: high S-in-design Status: in design
Projects
None yet
Development

No branches or pull requests

2 participants