Can I deploy application without GitHub or docker?

I want to start of by saying I love Koyeb its an amazing product. I wanted to know if I can deploy my application directly from the IDE I previously used Deta space and I loved it because how fast I could deploy via CLI I wanted to know if Koyeb can do the same?
I came across this page but I wanted to ask if it really does skip GitHub and docker and directly uploads or still require Github if so you have already made my day.

Secondly, in case you have made my day I saw this example “koyeb deploy . my-app/my-service” so just for general understanding if my app name was YouTube the command would be “koyeb deploy . Youtube/my-service”?

I dont understand what should I write for ‘/my-service’ and where exactly do I see it in the console

[EDIT] one more thing I would like to ask is is there a requirement.txt size limit?

1 Like

Hi @Carti ,

The koyeb deploy command allows you to directly push code from your local environment to Koyeb.

The Koyeb CLI bundles the contents of your directory and uploads it to Koyeb. On koyeb, we take care of the build either using Buildpack or Dockerfile depending on your settings.

When you use the koyeb deploy command, we create the app and the service if they do not exist. For instance, if you use koyeb deploy . Youtube/my-service while the app and the service don’t exist, we will create an app called Youtube, and create a service called my-service inside this app.

You will see apps and services on the overview and service pages in the control panel.

The requirements.txt file size is not limited.

2 Likes

That is so cool !!! Thank you

[Update] Got discouraged after using the cli for the first time. Got the following error:

koyeb deploy . x-app/x-service --archive-buildpack-build-command “pip install -r requirements.txt”
INFO[0001] Application x-app does not exist. Creating it
INFO[0002] Creating and uploading an archive from .
:x: Error while requesting an upload URL to upload the archive ‘.’ (58562847 bytes): the Koyeb API returned an error 400: Validation error

:mag_right: Additional details
Field size: size must be less than or equal to 50MB

:hospital: How to solve the issue?
Fix the request, and try again

:clock1130: The original error was:
400 Bad Request

I thought there wasn’t a size limit :frowning:

I misunderstood your question. I thought you were asking about the file size limit.

Your whole archive (built on your machine when you use the Koyeb deploy command) should not exceed 50MBs.

So what now ? Do I give up on koyeb?

I somehow managed to fit within limit but now I have a new issue

:x: Error while creating the service: the Koyeb API returned an error 400: Validation error

:mag_right: Additional details
Field definition.instance_types.0.scopes.was: Instance type “nano” not available with current plan “hobby23”

:hospital: How to solve the issue?
Fix the request, and try again

:clock1130: The original error was:
400 Bad Request

You need to upgrade your organization to a Starter plan to use the nano instance type or you can use a ‘free’ instance as part of your free plan.

1 Like

I am very close to having my very first build but I am coming across a problem

so from koyeb project directory deploy docs I see this:

koyeb deploy . an-app/a-service
–archive-buildpack-build-command “pip install -r requirements.txt”
–archive-buildpack-run-command “python -m http.server”

heres what I did:

> koyeb deploy . sc-app/sc-service  --archive-buildpack-build-command "pip3 install -r requirements.txt" \
>               --archive-buildpack-run-command "uvicorn sc.main:app" --regions "fra" --instance-type free

but my build failed saying:

[INFO] Running custom build command: 'pip3 install -r requirements.txt'

bash: pip3: command not found

ERROR: failed to build: exit status 127

exit status 51

[Update] As of this koyeb post I dont need to write pip install as build pack automatically detects it so I removed and deployed again but I got the below error

[INFO] Running custom build command: ‘pip install -r requirements.txt’

bash: pip: command not found

ERROR: failed to build: exit status 127

exit status 51

Still waiting for the solution :slight_smile:

It seems that it still tries to use the cusotom build command. Could you delete your service and create a new one without passing --archive-buildpack-build-command

Thank you for your reply

  • Build was successful
  • Deployment failed with the following logs:

Instance created. Preparing to start…

ERROR: no command to run your application: add a run command in your Service configuration or create a Procfile in your archive. Check How We Build from Git | Koyeb for more details.

Application exited with code 1. This usually indicates an application failure. Check that the command used to launch your application is correct.

Instance stopped

ok, so it seems you need to provide custom run command: --archive-buildpack-run-command The command which you use to start your app. I guess python <something>

1 Like

that worked but instance stops after failing TCP check and then it goes into loop I know its retrying but its only starting and stopping over and over

ic is the ice cream python module I am using to print logs within my app

Your program listen only on localhost 127.0.0.1. Please change it to 0.0.0.0

For uvicron it’s --host 0.0.0.0

1 Like

I am unable to perform the solution because I am having little account issue I sent you a message could you look into it. Only then I can update this post with if the solution worked

I can not express in words how happy I am right now. it worked, I was able to deploy my project directory perfectly without any issue. Thank you @Lukasz_Oles and Thank you @David for helping me navigate through the issues because these constant errors were really breaking my morale

1 Like