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
Thanks for building Once! I love the idea of making self-hosting as simple as possible, and the TUI is really well done.
I was trying to install https://github.com/bugsink/bugsink as a Once app and it kept failing with "application did not start". It makes sense: Once is built for Rails apps, so it assumes port 3000, mounts volumes at /storage and /rails/storage, and injects Rails-specific env vars like SECRET_KEY_BASE and VAPID_*. All great defaults for Rails, but Bugsink listens on port 8000 so kamal-proxy couldn't reach it.
I vibe-coded a proof of concept to see what it would take to support non-Rails apps. The idea is to make three things configurable: the app port, the volume mount paths, and whether to inject the Rails-specific environment variables. I put these behind an "Advanced settings" button on the hostname screen so the happy path for Rails apps stays exactly the same. Clicking "Install" still goes straight to deploying with all the current defaults. Only when you click "Advanced settings" do you see the extra options alongside the existing health check path and env vars. Everything is editable later under Settings > Application too.
I got Bugsink working by setting app port to 8000, health check path to /, and skipping the Rails environment. Here's a screencast:
once.-.advanced.settings.mov
Not sure if supporting non-Rails apps is something you'd want for this project. I totally understand if it's out of scope or if you'd approach it differently. Just thought it was a fun experiment and wanted to share it in case it's useful! This could, for example, also be useful for https://github.com/louislam/uptime-kuma.
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.
Uh oh!
There was an error while loading. Please reload this page.
Thanks for building Once! I love the idea of making self-hosting as simple as possible, and the TUI is really well done.
I was trying to install https://github.com/bugsink/bugsink as a Once app and it kept failing with "application did not start". It makes sense: Once is built for Rails apps, so it assumes port 3000, mounts volumes at /storage and /rails/storage, and injects Rails-specific env vars like SECRET_KEY_BASE and VAPID_*. All great defaults for Rails, but Bugsink listens on port 8000 so kamal-proxy couldn't reach it.
I vibe-coded a proof of concept to see what it would take to support non-Rails apps. The idea is to make three things configurable: the app port, the volume mount paths, and whether to inject the Rails-specific environment variables. I put these behind an "Advanced settings" button on the hostname screen so the happy path for Rails apps stays exactly the same. Clicking "Install" still goes straight to deploying with all the current defaults. Only when you click "Advanced settings" do you see the extra options alongside the existing health check path and env vars. Everything is editable later under Settings > Application too.
I got Bugsink working by setting app port to 8000, health check path to /, and skipping the Rails environment. Here's a screencast:
once.-.advanced.settings.mov
Not sure if supporting non-Rails apps is something you'd want for this project. I totally understand if it's out of scope or if you'd approach it differently. Just thought it was a fun experiment and wanted to share it in case it's useful! This could, for example, also be useful for https://github.com/louislam/uptime-kuma.
PS. These are the changes for this proof of concept: main...smgdkngt:once:support-non-rails-apps-v2
All reactions