Wappler Version : 4.03
Operating System : Mac M1
Server Model: NodeJS
Database Type: MySql8
Hosting Type: Docker Local and Docker Remote on AWS
Expected behavior
What do you think should happen?
I copied over the project folder from my old Mac Intel laptop to my new Mac Mini M1.
I go to setup the project by opening existing folder (this worked on another project fine) but when the project attempts to load I get this error in the wappler console as the project is initiating:
ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries Error Launching Services!
As far as I am aware you can not just move the project folder over if your original project was using docker with docker local or remote.
You need to first go to the Intel Mac and find the hidden folder ~/.docker/machine/machines/your-project-folder-to-be-moved
With Wappler closed on the M1, you are going to take that entire folder and move it to the exact same place on the M1 Mac first.
Launch Wappler, Open Project and direct it to the project folder you have been trying with.
If it were me and a brand new Mac, and a brand New install of Wappler I would first.
Create a new blank project matching the spec of the project you are wanting to import, in other words set it to NodeJS, Docker Hosting. Wait for all the homebrew stuff to install everything your new mac needs, like docker desktop, NodeJS, etc.
Once all complete, deploy local.
Edit project settings and match your last one, in other words was your intel on Node12 or 14, was your DB set to MariaDB10.4 or 10.5 etc. Save once set, wait for Wappler to load everything it needs to.
Deploy local again.
Quit Wappler
Move the hidden folder described above with all your certs into the same hidden folder on the new machine, even if you have to manually create the same folder structure manually at first.
Launch Wappler, Open project folder copied from Intel.
Probably a whole bunch of totally un-required steps, but thats how I did mine when I got my M1, and everything worked without error, I figured I would give Wappler the best chance of success by getting the environment all ready for it first.
I did manage to simply copy / open a different project first without any issues at all, or any of the above steps.
However, the only difference between that project, and this project (and your post has highlighted this as the potential problem, thank you) is that the second project I tried to open does indeed have a remote docker machine created and has been deployed. Whereas the first project exists only in a local docker container.
I’m going to take a look at the machines folder and look at your steps to see if I can get this working.
@psweb ok so this looks like it might be something to do with MySql8.
I opened Wappler, created a brand new project for the purpose of making sure Wappler is fully initialized.
All went fine until I edit project settings. I add MySql8 as the DB and then save and I get the same error in Wappler console:
Bringing all services up …
Creating volume “new_test_for_initiation__development_redis-volume” with default driver
Pulling db (mysql:8.0)…
8.0: Pulling from library/mysql
ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries
Error Launching Services!
The reason we take those certificates is so the new mac knows what docker machines are approved in your machines list as you can not regenerate those certs as far as I know.
I backup my machine files everytime I add anything to the Manage area of Docker.
Edit: Can anyone confirm this, hopefully im just being extra cautious for nothing.
Yes this is a known issue with docker and MySQL on the Arm64 M1 chip.
It is actually the fault of MySQL (Oracle ) they haven’t published a MySQL Arm64 image build.
So with the fix above you are actually running MySQL under the intel emulation.
A much better solution is to just use MariaDB - it has fully Arm64 M1 native support and it is full MySQL replacement. So it is great for development specially on Mac M1.
And on your production you can use still MySQL or even there switch to mariadb.
So I have a new Macbook m1 yay!
Now I am trying to transfer my project to this new laptop.
My project is a NodJs/MySQL project.
Following the instructions above I run into the following error and cannot figure out how to resolve this.
ah pfew, the error is gone and the db is running.
Seem like i have to manually install a backup of the database on the local server, but that should be no problem