Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

Cloudron Forum

Apps | Demo | Docs | Install

How do I do this??

Scheduled Pinned Locked Moved Docker Registry
26 Posts 3 Posters 800 Views
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • scookeS Offline
    scookeS Offline
    scooke
    replied to BrutalBirdie on last edited by scooke
    #3

    @BrutalBirdie Thank you, this is really helpful, and I think I've followed it all. I would have left out the --file and --target options in the build step, for example.

    A few questions to help me grasp the concepts...

    Building something to have something to push, pull makes sense. After I've built, and pushed, what happens to the original directory which I built in? Can I delete it?

    If I do delete it, how does that image get updated? Don't I have to re-clone, re-build, re-push, making the first image useless (and every subsequent one after each update).

    If I don't delete it, this means it is an essential directory that I basically will never delete, right? And over time it will get quite large as I pull or clone updates to it?

    For the install, cloudron install --location test --image dr.cloudron.dev/org.bigbluebutton.greenlight.cloudronapp:1.0.20 can be run anywhere local then, right? It doesn't need to be in that original clone/build directory because I've previously logged in to both my Cloudron and my self-hosted Docker Registry and the --options are used by cloudron install to know where these things are, right?

    As for the final "point" question... must I push the built image somewhere? Can't it/doesn't it just stay in the clone directory (I'm assuming that's where the Docker image is after I've run "build")? If I can just leave it, then the install command would have to locate it, cloudron install --location test --image C://Users/me/cloudron/org.bigbluebutton.greenlight.cloudronapp:1.0.20, something like that, right? So if I can just leave it where it is, this whole Docker Registry thing is just a way to nicely keep built images organized, yes? And I guess for something like Docker Hub, able to share any images.

    A life lived in fear is a life half-lived

    timconsidineT 1 Reply Last reply
    1
  • timconsidineT Offline
    timconsidineT Offline
    timconsidine App Dev
    replied to scooke on last edited by
    #4

    @scooke said in How do I do this??:

    For the install, cloudron install --location test --image dr.cloudron.dev/org.bigbluebutton.greenlight.cloudronapp:1.0.20 can be run anywhere local then, right? It doesn't need to be in that original clone/build directory because I've previously logged in to both my Cloudron and my self-hosted Docker Registry and the --options are used by cloudron install to know where these things are, right?

    I think it needs to be run from inside the directory where you have CloudronManifest.json.

    1 Reply Last reply
    1
  • scookeS Offline
    scookeS Offline
    scooke
    wrote on last edited by
    #5

    Welp, I've had the first error, the exact type that has made Docker seem like some super bizarre esoteric only-true-devs-can-use-it, the very first time I've tried to follow @BrutalBirdie's instructions.

    I've run this:

    me@vm:~/cloudron/cloudron-odoo$ docker build --file Dockerfile --target docker.toutdo.com/org.odoo.cloudronapp:1.0.20 .
    [+] Building 0.3s (2/2) FINISHED
     => [internal] load build definition from Dockerfile                                                                                                                                                                                   0.1s
     => => transferring dockerfile: 1.95kB                                                                                                                                                                                                 0.0s
     => [internal] load .dockerignore                                                                                                                                                                                                      0.2s
     => => transferring context: 74B                                                                                                                                                                                                       0.0s
    failed to solve with frontend dockerfile.v0: failed to create LLB definition: target stage docker.toutdo.com/org.odoo.cloudronapp:1.0.20 could not be found
    

    Now, all you devs can see clear as day what I did wrong, but it isn't clear to me at all what I did wrong, especially since I followed the instructions. There are always assumptions that seem to exist, assumptions that a non-dev but wanna-be-dev person like me just miss. Clearly the error docker.toutdo.com/org.odoo.cloudronapp:1.0.20 could not be found is that this can't be found... but I looked to me, from the instructions, that it would be built and then "known". So do I just leave out this step? In fact, the very first time I ran this I left off the .

    me@vm:~/cloudron/cloudron-odoo$ docker build --file Dockerfile --target docker.toutdo.com/cloudron-odoo:1
    "docker build" requires exactly 1 argument.
    See 'docker build --help'.
    
    Usage:  docker build [OPTIONS] PATH | URL | -
    
    Build an image from a Dockerfile
    

    I looked at that, then the instructions, telling myself, "look carefully, you left out something", and saw the space period. But this recent error? What the heck? I have to make this directory first? I named it wrong? Let me try without the "target". So now I'm running build without the --target, and 410s (2/3) in, it's still building.

    The message at least tells me that it is looking in/pulling from => [internal] load metadata for docker.io/cloudron/base:3.2.0@sha256:ba1d566164a67c266782545ea9809dc611c4152e27686fd14060332dd88263ea a cloudron source. So I guess it couldn't find one with the name I used for target; but it wasn't clear to me that the name had to be of an existing image. But I also can't find any reference to a ```docker.io/coudron/base:3.2" in this cloudron-odoo repository, so, how in the world did it know to use that?

    Well, this is a Help forum, not a "Teach Programming" forum, so I don't really expect anyone to spend more time trying to help me comprehend this stuff. I'll eventually get it. I hope. I just need to find a source which covers the "assumptions". Thanks again.

    A life lived in fear is a life half-lived

    timconsidineT 1 Reply Last reply
    0
  • timconsidineT Offline
    timconsidineT Offline
    timconsidine App Dev
    replied to scooke on last edited by
    #6

    @scooke hope this is not a thick question but exactly which odoo repository are you cloning and building from ? Do you have a link?
    I might give it a try.

    How it knows which base to use ? It is stated in the Dockerfile on the line FROM .....

    Keep persevering. I don't think people mind a blurred line between Help and Tutorial when the questions are good ones (as here).

    BrutalBirdieB scookeS 3 Replies Last reply
    1
  • BrutalBirdieB Offline
    BrutalBirdieB Offline
    BrutalBirdie Staff
    replied to timconsidine on last edited by
    #7

    @timconsidine yea the source would be really helpful for debugging.

    Like my work? Consider donating a drink drink. Cheers!

    1 Reply Last reply
    0
  • BrutalBirdieB Offline
    BrutalBirdieB Offline
    BrutalBirdie Staff
    replied to timconsidine on last edited by
    #8

    @timconsidine I think it might be this: https://github.com/njsubedi/cloudron-odoo

    https://forum.cloudron.io/topic/1256/odoo-distributed-business-apps/25?_=1648412597488

    Like my work? Consider donating a drink drink. Cheers!

    BrutalBirdieB 1 Reply Last reply
    1
  • BrutalBirdieB Offline
    BrutalBirdieB Offline
    BrutalBirdie Staff
    replied to BrutalBirdie on last edited by BrutalBirdie
    #9
    git clone git@github.com:njsubedi/cloudron-odoo.git
    
    cd cloudron-odoo
    
    docker build --file Dockerfile --target dr.cloudron.dev/com.odoo.cloudronapp:0.0.1 .
    
    docker push dr.cloudron.dev/com.odoo.cloudronapp:0.0.1
    
    cloudron install -l odoo.cloudron.dev --image dr.cloudron.dev/com.odoo.cloudronapp:0.0.1
    
    App is being installed.                                                                                                                                                                                                                          => Queued                                                                                                              
    => Registering subdomains 
    => Registering location: odoo.cloudron.dev ....... 
    => Setting up addons
    => Waiting for DNS propagation ...
    => Wait for health check ...........                                                                                                                                                                                                           App is installed.
    
    

    and: https://odoo.cloudron.dev

    🤷 login is admin:admin all working for me.

    Like my work? Consider donating a drink drink. Cheers!

    scookeS 1 Reply Last reply
    1
  • scookeS Offline
    scookeS Offline
    scooke
    replied to timconsidine on last edited by
    #10

    @timconsidine This is from @nj's github, https://github.com/njsubedi/cloudron-odoo

    A life lived in fear is a life half-lived

    1 Reply Last reply
    1
  • scookeS Offline
    scookeS Offline
    scooke
    replied to BrutalBirdie on last edited by
    #11

    @BrutalBirdie Interesting... I'm at 3100+ seconds of build time, and it's still going.
    Is that normal? I ran it without the --target option.

    A life lived in fear is a life half-lived

    BrutalBirdieB timconsidineT 2 Replies Last reply
    0
  • BrutalBirdieB Offline
    BrutalBirdieB Offline
    BrutalBirdie Staff
    replied to scooke on last edited by
    #12

    @scooke No that is nor normal.
    Maybe you can try my steps with copy and paste.

    Like my work? Consider donating a drink drink. Cheers!

    1 Reply Last reply
    0
  • timconsidineT Offline
    timconsidineT Offline
    timconsidine App Dev
    replied to scooke on last edited by timconsidine
    #13

    @scooke errrr I think the --target or -t option is MANDATORY
    You need to tell docker what repo "to build the project into".

    I just cloned the repo and built without a hitch.

    scookeS 1 Reply Last reply
    1
  • scookeS Offline
    scookeS Offline
    scooke
    replied to timconsidine on last edited by scooke
    #14
    me@VM:~/cloudron/cloudron-odoo$ docker build --file Dockerfile --target docker.toutdo.com/com.odoo.cloudronapp:0.0.1 .
    [+] Building 0.3s (2/2) FINISHED
     => [internal] load build definition from Dockerfile                                                                                                                                                                                             0.1s
     => => transferring dockerfile: 38B                                                                                                                                                                                                              0.0s
     => [internal] load .dockerignore                                                                                                                                                                                                                0.1s
     => => transferring context: 34B                                                                                                                                                                                                                 0.0s
    failed to solve with frontend dockerfile.v0: failed to create LLB definition: target stage docker.toutdo.com/com.odoo.cloudronapp:0.0.1 could not be found
    

    I'm using my Docker Registery which I've installed at docker.toutdo.com, as you can see, but it's that same error about not finding it. I need to use dr.cloudron.dev (which I've been assuming can be changed)?

    A life lived in fear is a life half-lived

    timconsidineT 3 Replies Last reply
    0
  • timconsidineT Offline
    timconsidineT Offline
    timconsidine App Dev
    replied to scooke on last edited by timconsidine
    #15

    @scooke so MY terminal output for what you have above is :

    TC-MBP-13:cloudron-odoo timconsidine$ docker build -t tcmbp132021/cloudron-odoo:a .
    [+] Building 139.3s (11/17)                                                                                                                 [+] Building 139.5s (11/17)                                                                                                                 
     => [internal] load build definition from Dockerfile                                                                                   0.1ss
     => => transferring dockerfile: 1.95kB                                                                                                 0.1ss
     => [internal] load .dockerignore                                                                                                      0.1ss
     => => transferring context: 74B                                                                                                       0.0ss
     => [internal] load metadata for docker.io/cloudron/base:3.2.0@sha256:ba1d566164a67c266782545ea9809dc611c4152e27686fd14060332dd88263  33.5ss
    

    I notice your output reports smaller file sizes
    My first suspicion would be a network error.
    Maybe compounded by you doing this in a local VM ?
    I don't know, just taking wild stabs in the dark.
    I don't think it is a process issues (commands), smells like network or environment issue to me.

    scookeS 1 Reply Last reply
    0
  • scookeS Offline
    scookeS Offline
    scooke
    replied to timconsidine on last edited by
    #16

    @timconsidine Could be. It's late where I am, so I'm hitting the hay. Thanks again, I'll take another stab in the morning!

    A life lived in fear is a life half-lived

    timconsidineT 2 Replies Last reply
    0
  • timconsidineT Offline
    timconsidineT Offline
    timconsidine App Dev
    replied to scooke on last edited by
    #17

    @scooke

    I'm using my Docker Registery which I've installed at docker.toutdo.com, as you can see, but it's that same error about not finding it. I need to use dr.cloudron.dev (which I've been assuming can be changed)?

    Yes, not just 'can', generally you should change it, because the image which is built goes into your repo that you have logged into.

    1 Reply Last reply
    0
  • timconsidineT Offline
    timconsidineT Offline
    timconsidine App Dev
    replied to scooke on last edited by
    #18

    @scooke good sleep !
    always helps.
    You will get this nailed, don't worry.

    1 Reply Last reply
    0
  • timconsidineT Offline
    timconsidineT Offline
    timconsidine App Dev
    replied to scooke on last edited by timconsidine
    #19

    @scooke the following from your message looks strange to me :

    [+] Building 0.3s (2/2) FINISHED
     => [internal] load build definition from Dockerfile                                                                                                                                                                                             0.1s
     => => transferring dockerfile: 38B  
    

    If I read that correctly, your build process only received a Dockerfile of 38Bytes.
    My Dockerfile in the folder of the cloned repo is 1.9KB - NB kilobytes.
    38B is hardly enough to specify the base image correctly, let alone the rest of the build instructions.

    Maybe do a directory listing and compare to the github listing ?
    I withdraw my wild stab 'network' or 'environment' guess.
    Instead I make a wild stab 'corrupt github clone' or 'corrupt github download / extraction'.

    1 Reply Last reply
    0
  • timconsidineT Offline
    timconsidineT Offline
    timconsidine App Dev
    replied to scooke on last edited by
    #20

    @scooke another thought .....
    I went back to your very first message in this topic, and noticed this.

    I'm also logged into my Cloudron using the cli on the Ubuntu VM
    

    I might be reading this wrongly.
    But I am NEVER logged in to my Cloudron server when I am building apps for deployment.
    Raises the thought in my head : are you building the Odoo app actually on the Cloudron server ??!!
    it should be built on local machine, then pushed to docker registry.
    Then cloudron install etc should be run locally which does the connection to the Cloudron server.
    No need to be on the Cloudron server at all while building.

    I am still thinking the issue is mostly a corrupt clone from github.
    But worth being clear where the build process is being run.

    Anyway, off to bed also.

    scookeS 1 Reply Last reply
    1
  • scookeS Offline
    scookeS Offline
    scooke
    replied to timconsidine on last edited by
    #21

    I've resumed attempts, and keep failing on both my Ubuntu VM and Windows Terminal/Powershell:

    => => transferring context: 74B                                                                                                                                                                             
    failed to solve with frontend dockerfile.v0: failed to create LLB definition: target stage dr.cloudron.dev/com.odoo.cloudronapp:0.0.1 could not be found
    

    This seems like a network problem, but in my Docker I have what I think are all the correct options for integrating Windows Docker with WSL2 Ubuntu.

    EDIT: In the last 30 minutes I have:
    changed DNS setting in Docker Desktop (and back)
    Changed "buildkit" from true to false (in Docker Desktop)
    Deleted config.json in my Ubuntu ~/.docker directory
    Cleaned and Purged in Desktop
    Restarted Docker Desktop

    And after each of those, if my Ubuntu WSL was running, I'd restart.

    I still keep getting:

    Error response from daemon: failed to reach build target dr.cloudron.dev/com.odoo.cloudronapp:0.0.1 in Dockerfile
    

    @timconsidine No, I'm not logged into my Cloudron box, this is all local.

    Anyways, time for work, I'll come back later.

    A life lived in fear is a life half-lived

    timconsidineT scookeS 2 Replies Last reply
    0
  • timconsidineT Offline
    timconsidineT Offline
    timconsidine App Dev
    replied to scooke on last edited by timconsidine
    #22

    @scooke I did internet search for
    failed to solve with frontend dockerfile.v0: failed to create LLB definition: target stage
    This produced interesting comment on https://stackoverflow.com/questions/64221861/an-error-failed-to-solve-with-frontend-dockerfile-v0

    I had the same issue and all I had to do was to capitalize the Docker configuration filename:
    dockerfile > didn't work
    Dockerfile > did work
    

    I see in your example earlier you are using the capitalised version.
    But lower down in that thread it refers to "better practice" to use docker build --file ./Dockerfile -t <etc> to ensure it references folder in directory.
    Personally I never use --file Dockerfile as it is default.
    Also see a comment about WSL and closing terminal.
    Also a comment about using DOCKER_BUILDKIT=0 docker build . to track the exact error.
    Have a read of thread and see if any of it applies.

    I would :

    • close terminal and open it again
    • cd to directory
    • run docker build -t docker.toutdo.com/com.odoo.cloudronapp:0.0.1 n.b. without the --file directive
    • see what happens !
    1 Reply Last reply
    0

  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Login

  • Don't have an account? Register

  • Login or register to search.