You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your idea related to a problem? Please describe:
When adding apps to the CasaOS App Store, many applications require a pre-installation step before the main container can run.
For example:
wireguard requires generating a password hash using bcrypt
Some services need to generate keypairs or create a specific directory structure using openssl, mkdir, etc.
Right now, there's no clean way to do this in the x-casaos metadata. These steps must be done manually or handled with complicated container hacks, which reduces the plug-and-play experience that CasaOS aims for.
Describe the solution you'd like:
I propose adding support for a new field in the x-casaos section of the app metadata:
x-casaos:
pre-install-cmd: "your-command"# or "docker run --rm -v ... bcrypt ..."
This would allow developers to run simple pre-install logic, either using shell commands or short-lived helper containers, before the main app is started.
Describe alternatives you've considered:
Using an init container
I tried running an initialization container with depends_on, but this leads to stopped containers lingering, and it's hard to ensure they only run once.
Overwriting entrypoint or command
This approach is fragile and nearly impossible when tools like bcrypt or openssl aren't included in the base image or require complex scripting logic.
Additional context:
I already have code implementing this behavior in my own fork.
If this feature aligns with the direction of CasaOS, I’m happy to submit a PR.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Is your idea related to a problem? Please describe:
When adding apps to the CasaOS App Store, many applications require a pre-installation step before the main container can run.
For example:
wireguardrequires generating a password hash usingbcryptopenssl,mkdir, etc.Right now, there's no clean way to do this in the
x-casaosmetadata. These steps must be done manually or handled with complicated container hacks, which reduces the plug-and-play experience that CasaOS aims for.Describe the solution you'd like:
I propose adding support for a new field in the
x-casaossection of the app metadata:This would allow developers to run simple pre-install logic, either using shell commands or short-lived helper containers, before the main app is started.
Describe alternatives you've considered:
Using an init container
I tried running an initialization container with
depends_on, but this leads to stopped containers lingering, and it's hard to ensure they only run once.Overwriting entrypoint or command
This approach is fragile and nearly impossible when tools like
bcryptoropensslaren't included in the base image or require complex scripting logic.Additional context:
I already have code implementing this behavior in my own fork.
If this feature aligns with the direction of CasaOS, I’m happy to submit a PR.
Beta Was this translation helpful? Give feedback.
All reactions