Can you only "update/upload" one or two files in a container or do you to re-deploy the complete project?

Am using 20i still. They offer both managed and unmanaged vps. The post was after using their managed offerings and they couldn’t get it to work with wappler. Their unmanaged servers however work perfectly when setup via the process detailed in the post.

After researching alternatives I realised their costs were actually very good.

@Hyperbytes … just another interesting article… ill give this a go… maybe this will help…

Does beg the question, if the solution is to bypass docker and use FTP then why use docker in the first place?

I do understand dockers use if its a small site… press “deploy” button and its done… so it super cool and fast…

But i do like the fact that i can control “bigger” sites content… imagine you have a 50MB site… 2000+ files… (pdfs… images… bla bla …) and then you have to “deploy” a fresh copy all the time… that does not make sense to me… if i only need to “push” 1 or 2 file updates…

So here is my two cents worth, from a person who actually did not want to go the docker route originally.

I used to use shared hosting on Afrihost, and for local development I had MAMP installed an running.
Scenario 1: Client asks me to take over a site called apple.com as a silly example
I set up a local environment, in MAMP, that the client can not see, so I can not show them unless i setup a remote staging domain, which can not be called apple.com so I always found this part to be quite a pain, having local, fake remote for staging server, then the real server when the site was actually replaced.

Scenario 2: Have your own private / dedicated server rather where you can make as many fake domain accounts as you like regardless of if you own the domain or not.
Well it was easier as it saved me having to do all the MAMP stuff, it was still a pain with showing the client, I either had to show them via the server IP and a strange URL, or ask them to edit their hosts file to add in a dummy record.

New scenario, use Docker, it saves me the entire MAMP process, saves me the entire VPS, or dedicated server setup, in fact i do not even bother with domain names at all till the very end, so I use Wappler, setup a container, and in about 5 minutes i can see a full local and remote development environment and give my client an IP address that can also see it.
At the very end of the process, when all approved, i can alter DNS records and point the correct domain name to my IP Address of my container, which also means i never needed access to their existing cPanel, I never had to alter their server files, etc. So if something goes terribly wrong, one DNS record change gets them back to where they were instantly.

I can still FTP or SSH into the docker container to make single file changes if needed, docker volumes work great for user uploads.
Honestly the only thing I miss, specifically with NodeJS and not Docker as such is the inbuilt mail server. All the other parts of the process i find better at this stage.

Reading this whole topic and posts inside it maybe you don’t understand the purpose and idea of docker, containers and deploy procedure.
Also i won’t recommend ssh-ing into the container and putting random single files there.

1 Like

Sure… i dont disagree with you at all… im brand new to this docker … node thing… and im sure it will make sense in time… its just a steep learning curve… can i say that “php” is way more forgiving…

Im realy trying my best to get my head around how this node thing work… its not like im sitting here and blowing bubbles… just trying to understand the best way … work flow of getting things done… hence asking all these “silly” questions…

Also another topic, wrongly relating nodejs with docker - docker and nodejs are NOT related in any way :slight_smile:

You are spot on there @teodor however the way some portray the topic of node, many posts seem to imply a relationship, certainly within Wappler, docker is often offereed being the “correct way of doing things”,
Also those choosing to go the VPS route are often told they are wrong or even told they must be stupid.
In my view there is no “correct” solution, just a personal choice.

2 Likes

When I first started with Docker, this was my one concern as many of my sites may have 5 gb of images included in the various pages.

What I did was rather use the Docker Volume, more meant for user uploads, however it is persistent storage, so on redelpoy it is never effected.
I therefore never store my images inside the assets folder inside the public folder, unless its a small site with 2 or 3 of them, instead i setup a user uploads path and store all my own images in there too, so a 5 gb site of images, and only 100 mb of ejs files, only redeploys the 100mb portion and never the entire 5gb images portion.

Agreed, I have done 10 different ways, and although this took some head scratching at first, it now works great for my particular needs.

1 Like

Yes, i confess if Wappler also included a db such as MySQL or Maria with the inbuilt node server it would be a great enhancement

1 Like

You can use sqlite locally with the built in node server, so that you don’t need a separate database server to run :slight_smile:

1 Like

I enable MariaDB and MySQL on my NodeJS projects, if using Docker, yes its another image, inside the same Docker container, but it works flawlessly, and I am able to connect to it via Navicat, or SQLPro Studio, etc. So I see it just like PHP and MySQL are different, and NodeJS and MySQL are different.

Being able to use a third party SQL application, which was the same thing i used to do with PHP projects, basically makes no difference to me, i do not even notice it.

1 Like

thanks to all for your valuable contributions… seems like there is more than one way to skin a cat…

Maybe not the “correct wappler way” but still working and providing a end solution… thanks for sharing… I guess as long as the “end goal” is the same then why not…

I guess for my test approach I will do the following:

  1. As I have 1 site that all my clients use as a main “base” but different stylesheets and a few other files. tracking… and so on…
  2. Create 4 droplets on DO.
  3. Deploy the MAIN site template to all 4 droplets.
  4. Then FTP only the stylesheets and other few files that make the sites different to each droplet.

that is a awesome idea using a Docker Volume to store the images… so no need then for S3 uploads… and straight onto a Docker… nice one… but my clients will never fill the space that DO provides for a droplet… so… 25GB for a client would be ok… but i understand why you use it so that (persistent storage, so on redelpoy it is never effected) … thanks for sharing your knowledge.

If they are 4 different sites, with 4 different domain names, just based on a single template, then yes, that would work fine, however as you say many ways to skin a cat, so if its a single domain, and the style changes based upon some other variable then you could serve a different set of style sheets etc. based upon that variable, regardless of being on a single docker droplet/container.

Take a look at this example from one of my sites I have done this on

This is a Namibia holiday and therefore the style sheet is browns, greens, etc. Safari type colours, the logo is a Giraffe saying Africa Collection

This is a beach type holiday so the stylesheet changed to the blues and greys and the logo altered to a Turtle, same domain, and based on a variable one of the 2 style sheets load, and different images appear.

There are also some pages which are both, in other words if you got to that page after viewing beach holidays it will stay blue even if its a Safari destination, because it can be an either or situation.

1 Like

Very nice… and a great idea if you have one domain :slight_smile:
That is a great site… seems alot of work has gone into that one! Well done!

1 Like

It’s now possible to manage remote files with Docker in Wappler 4.5.3:

2 Likes