Whats special about cloudron/base docker image ?
-
Its in the title: Whats special about cloudron/base docker image ?
It is a seldomly updated docker image that seems to be used as base everywhere. I tried with an alpine image as a base alternatively, which failed on cloudron...
Why? Whats special about cloudron/base?
-
I think this may give some ideas...
The
cloudron/base
Docker image is specifically designed for use in Cloudron, a platform for hosting and managing web applications. There are a few key reasons why this image is recommended as a base for Cloudron-based applications:-
Security: The
cloudron/base
image is built with security best practices in mind. It includes hardened system configurations, minimal package installations, and regular security updates. This ensures that your application has a solid foundation with proper security measures. -
Compatibility: Cloudron uses a specific runtime environment and configuration for running applications. The
cloudron/base
image is optimized to work seamlessly within this environment. Using other base images, such as Alpine, may lead to compatibility issues as they may lack the required dependencies or configurations. -
Standardization: By using the
cloudron/base
image as a base, you ensure a consistent development and deployment experience across different Cloudron applications. It provides a set of standard tools, libraries, and configurations that are commonly used in Cloudron apps.
It's worth noting that the
cloudron/base
image is built on top of Ubuntu and includes commonly used web server components like Nginx and PHP. It also has additional features to handle the complexities of running web applications in a multi-tenant environment. -
-
@philkunz said in Whats special about cloudron/base docker image ?:
I tried with an alpine image as a base alternatively, which failed on cloudron...
It certainly is possible to make a cloudron app with another imagine, than the default cloudron image. I have done so in the past already. In the end the cloudron base image is still a good choice since it shares the majority of it's size with other apps and brings a lot of default tooling with it.
If you want to use alpine i think you only need to make sure that you only write into the writeable directories and you need some programs installed, like bash for example.
-
The dockerfile is here . It's nothing special, just lots of packages on base ubuntu.
To add to what's been said: our approach is the batteries included approach and it's optimized for developer/sysadmin productivity (as opposed to saving disk space). When we open a web terminal, we want all the common tools across all apps (ping, nc, telnet, tar, node, php, python what have you). The Web terminal and File manager have a bunch of tooling prerequisites - tar, zip, rar, jq, database clients (mysql/postgres/redis/mongo), etc for it work well.
Any image will work including multi-stage builds. You have to pay attention to our deployment paradim though - https://docs.cloudron.io/packaging/cheat-sheet/#filesystem . Containers are run on a readonly fs, there is no way around this.
-
-
-