Deploy app from GitHub

Hi,

I use Balena for some kiosk browsers and made the following compose file:

version: '2'
services:
  browser:
    image: bh.cr/balenalabs/browser-amd64
    privileged: true
    network_mode: bridge
    environment:
      LAUNCH_URL: "https://www.example.com"
      KIOSK: 1
      EXTRA_FLAGS: "--disable-features=Translate"

Now, as far as I understand, instead of pushing this to every new fleet I make, I can create an app out of it in order to facilitate the process, but I can’t really get it to work, and don’t really understand how to set it up properly.

Deploying via the dashboard is apparently “coming soon”. I tried following the steps for the Deploy with Balena button and creating a GitHub repository with a file balena.yml:

type: sw.application
name: kiosk-browser
version: 1.0.0
assets:
  repository:
    type: blob.asset
    data:
      url: 'https://github.com/balena-labs-projects/browser'
data:
  applicationEnvironmentVariables:
    LAUNCH_URL: "https://www.example.com"
    KIOSK: 1
    EXTRA_FLAGS: "--disable-features=Translate"
  defaultDeviceType: intel-nuc

I don’t know whether this is correct, and I don’t know where this leaves the container properties such as privileged. The button takes me to the dashboard and lets me select a fleet etc, but the release fails with the following error:

[Error]    Could not detect project type: Service main: Could not find a Dockerfile for this service

Hey there @et.fz
Welcome to our forum!

Unfortunately, as of today, the ‘deploy an app’ workflow is still incomplete. This feature has been pushed further down the line owing to other priorities. You can upvote the related feature request which will help us prioritise it when the time comes. Enable apps (single and multiple) to be installed on a fleet (multi-app) - #9 by system We do not have an ETA for this feature. In fact, we’ve marked the “Apps” feature as experimental: Apps | balena .

Now regarding your desired end goal, you would need to push the project to fleets you want to run the projects on.

If you have a repo, you are right that the Deploy with balena workflow can be helpful here.

I don’t know whether this is correct, and I don’t know where this leaves the container properties such as privileged.

these would still be in your docker-compose file.

So, you should have both a docker-compose.yml file and a balena.yml file at the root of your project.
You can read more in our docs.
If you could share a public repo where you attempted this, we can take a look.