Azure Deployment #5886
Replies: 10 comments 50 replies
-
Hi @aderici - the single docker image is on our roadmap for official support soon, right now it was just put together as an experiment to see how it would work and what it might look like, but isn't officially released yet! In terms of the build failing, I'm not sure what branch of Budibase you're using to build with, but As I say the single docker image is something that we want to support soon, we're still working out the details of documenting it, everything we want to expose via environment variables and putting together some testing for it, once this is done we'll have it released. |
Beta Was this translation helpful? Give feedback.
-
@aderici I'm also looking an option to run on appservice the single container, can you give some high level insights on what type of customization did you need for the build to get it working? |
Beta Was this translation helpful? Give feedback.
-
@PekkaJalonen i pretty much had to go through every file on hosting/single folder on this repo and make changes. Nginx config, dockerfile, the text indexing plugin config file, startup script and others. 2 main issues i had to solve, one if them is persisting files into /home folder and other is just getting it to work. Also installed openssh to support app service ssh. I hope some day we will have a standard single docker supported by budibase which also fulfills azure appservice requirements, |
Beta Was this translation helpful? Give feedback.
-
Hi @aderici, we have added a step in our build process that creates a single image with some Azure App Service customizations. It is tagged as budibase-aas if you want to try it out and give us some feedback:
|
Beta Was this translation helpful? Give feedback.
-
Tested the budibase-aas image on Azure App Service. Could not get the container working when deployed using Single container, only when using Docker Compose to deploy single container which is in preview in Azure. From functionality perspective, App Service SSH is not connecting and also, minio works only when not using persistent storage. Each time trying to mount /data to Azure File Storage or using the App Service native storage(home folder), I start getting errors from minio about file access denied. I can see couch, minio and .env generated, but minio not storing anything. |
Beta Was this translation helpful? Give feedback.
-
Hi guys, I have merged pull requests to help support running Budibase in Azure App Service. This included the SSH service on port 2222, /home for data and some manipulation of environment variables as AAS already set a variable named PORT. |
Beta Was this translation helpful? Give feedback.
-
Hi, I started another discussion around the Azure before I realized that this was here already, so I'm just linking my finding here: #8040 |
Beta Was this translation helpful? Give feedback.
-
@jonnymccullagh @PekkaJalonen after some research i have good and bad news. It seems that minio recently introduced some changes, which determines how the files are stored in the disk. Previously if you have a single server your files would be stored as is, meaning if you upload a.jpg you'd see an a.jpg in your disk. But now, if you save a.jpg you see a folder called a.jpg in your disk and within that folder there are files that specify the content. This behavior is determined by the content of /path-to-minio-data/.minio.sys/format.json. See how in an earlier successful deployment, "format" property is "fs".
If you have previously deployed a budibase and have been upgrading, minio will see your existing folder / format.json and will continue with the fs format and that will work fine with azure. But it wont allow you to start a new instance with fs format anymore See how the new format.json looks on a recent deployment, format is now "xl-single"
Minio won't allow you to manually change a new deployments format, it will throw an error. It will only allow you to migrate an old folder with fs format. It is their way of fighting agaist people using fs mode i guess I have been building my custom images earlier, when we didnt have budibase-aas standard image. When i checked still have an old image that works out of the box and the minio version on that one is "RELEASE.2022-05-23T18-45-11Z" @jonnymccullagh would it be possible to use this specific version of minio i mentioned in azure images? Are you guys using minio for budibase cloud? Or are you using s3 and if we somehow have an s3 compatible proxy for azure, can we ditch minio completely by setting some environment variables? |
Beta Was this translation helpful? Give feedback.
-
@PekkaJalonen @aderici I have been playing with Azure Container Instances as an alternative to AAS. I created a video here: https://www.youtube.com/watch?v=40EzlgftPo0 |
Beta Was this translation helpful? Give feedback.
-
Hi, is there any more updates to this thread? We want to deploy on Azure Web Apps. Is this still an issue with Azure Web Apps or the version of CouchDB being incompatible? |
Beta Was this translation helpful? Give feedback.
-
Hi,
Starting this thread to help Azure people like me to deploy a simple self hosted Budibase into Azure App Services.
App services is the platform as a service offering of MS that is the go-to service if you simply want to run your app and not deal with anything else. It supports running codes directly (like a node.js app from github) or it can run a single docker container as well as simple docker-compose files (with a lot of limitations which makes running budibase impossible)
Another interesting limitation is in appservice if we want to use a custom docker image wa have to write our important data into /home folder otherwise azure wont persist any other files.
If we want to use direct ssh into docker feature we have to install openssh and provide a static user pass (app runs behind reverse proxy and ssh port is never exposed to public)
Given all info and limitations, i pursued the single docker path. Thankfully the single docker folder under hosting in the repo was a helpful start but definitely not working out of the box. After a many sleepless nights i was able to get it to work.
One thing i couldnt understand yet is if i build and run the app and worker from the repo, app doesnt work and complain "global db not found" i had to grab official app docker and copy the already compiled app directory into my single docker. Any idea why that might be happening?
2 of my clients have been using single docker budibase on azure happily ever since. Upgrades will be painful though.
I'd love to help single docker efforts to provide something usable for the community, please guide me how,
Beta Was this translation helpful? Give feedback.
All reactions