Impossible to start #16
Replies: 11 comments 9 replies
-
|
Hey @CorwinRail, thanks for reporting this! You caught a nasty bug that was completely blocking new installations. Just tracked this down and fixed it. The issue was actually two separate problems that made it look like nothing was working: What was happening: The nself build command was getting stuck in an infinite loop when trying to generate SSL certificates. It would just sit there showing "⠋ Generating SSL certificates..." forever. This happened because our SSL library was trying to call logging functions that created a circular dependency - basically the SSL code needed env.sh, which needed display.sh, which tried to call back into functions that weren't loaded yet. Classic circular import problem. Since the build never finished, you never got your docker-compose.yml file, which explains why start wouldn't work either. This was related to a very recent SSL improvement that was made. The fix: I switched the build process to use a simpler, direct SSL generation method that doesn't have those dependencies. Also cleaned up a similar issue in the compose generation script where log_info calls were causing the same kind of loop. The specific changes:
Testing it: Just ran through the full flow on a fresh directory and it's working smoothly now: Really appreciate you testing across multiple OSes - that helped confirm it wasn't platform-specific. The fix is pushed to main (commits 39e2b85 and 7bae067) and should resolve it on all your test systems. Let me know if you run into any other issues! This was a critical blocker and I'm glad we got it sorted. |
Beta Was this translation helpful? Give feedback.
-
|
Hey @CorwinRail, Found and fixed the issues! There were actually two problems:
Just pushed fixes (commit 42f55b5):
Pull the latest and give it another try: Let me know if this resolves it for you! |
Beta Was this translation helpful? Give feedback.
-
|
Hey @CorwinRail, I've added some additional safety checks and diagnostics to help with your situation (commit 6868011):
Pull the latest and give it another try: If you're still not seeing docker-compose.yml being created, could you share:
nself should work with a blank .env file using smart defaults, but there might be something specific to your environment or configuration that we need to identify. The debug output will show us exactly what the build process is detecting. Let me know what you find! |
Beta Was this translation helpful? Give feedback.
-
|
Hey @CorwinRail, I need more information to diagnose what's happening on your Rocky Linux system. I've created a debug script to help us figure this out. Please run the following: First, make sure you have the latest version Download and run the debug script Or if you prefer to run it locally: This debug script will check:
Please share the full output. This will help us identify if it's:
The build command should definitely be creating docker-compose.yml - we just need to see what's preventing it on your system. |
Beta Was this translation helpful? Give feedback.
-
|
This is fresh installation of linux only to test nself. Keep in mind that containers I downloaded manually - thats why it shows 18/19 === nself Build Debug Script === === Environment Check === === nself Installation Check === === Directory Contents === === .env File Check === === Docker Check === === Direct Script Execution Test === === Running Build with Debug === ╔══════════════════════════════════════════════════════════╗ === Post-Build Check === === Debug Complete === |
Beta Was this translation helpful? Give feedback.
-
|
Hey @CorwinRail! I think I got it fixed this time. This was a sneaky one that had me scratching my head for a bit. Turns out Linux bash is way stricter than macOS bash when it comes to undefined variables. When your Rocky/Ubuntu systems hit an undefined BASE_DOMAIN variable, bash just silently quit - no error, no message, nothing. That's why you saw "Configuration validated" and then... crickets. On my Mac, it just kept chugging along, so I never caught it during development. The fix: I've added proper defaults for all variables (like ${BASE_DOMAIN:-localhost}) and error traps that actually tell you what broke instead of ghosting you. To test: Should work now - you'll finally get that docker-compose.yml generated. This was a classic "works on my machine" moment that reminded me why I need better cross-platform testing. Linux bash was actually doing the right thing according to POSIX standards - Mac was just being too nice to me! Let me know if it works now. If not, at least the new error traps will tell us exactly what's failing. You caught me in the middle of preparing to refactor the build.sh and other commands as we prepare for a more stable release schedule for v0.4+ so absolutely perfect timing. Thanks for your patience on this one! |
Beta Was this translation helpful? Give feedback.
-
|
Hey @CorwinRail, I've pushed another round of fixes with additional safety checks. Found a few more Linux-specific edge cases that could cause the script to fail silently. Additional fixes in this update:
The confusing part for me was that I also use nself on an Ubuntu VPS without any issues, which made this harder to track down. It turns out the problem only manifests in certain shell contexts. If still having issues, run with debug:
The script now has much better error handling and should work even in restricted shell environments. If it still fails, the debug output will show exactly where it's stopping. Each of these Linux compatibility issues is making nself more bulletproof, so thank you for your patience in helping track this down! |
Beta Was this translation helpful? Give feedback.
-
|
Hey @CorwinRail, Think I found it - the issue was ((variable++)) arithmetic operations causing silent exits on Linux when the value is 0. With set -euo pipefail, this makes the script exit immediately after validation. Fixed all instances to use variable=$((variable + 1)) instead, which doesn't trigger the exit. Could you try pulling and testing? Let me know if this finally fixes it for you! |
Beta Was this translation helpful? Give feedback.
-
|
nself build is running properly now! (I checked on Ubuntu too. It looks like on Rocky Liinux is fixed, on Ubuntu not). Nself start is not showing which containers is starting. If I use nself --wizard, no containers are starting. If it's default nself init they are starting in background but nself status is showing that they aren't running: [arek@localhost rail]$ nself status ╔══════════════════════════════════════════════════════════╗ → Services (0/7 running) ○ postgres ✓ Healthy ✗ Unhealthy ● Running ⟳ Starting ○ Stopped → Service URLs GraphQL API: https://api.localhost
nself status | nself status --watch | nself logs | nself doctor Docker is showing them running: [arek@localhost rail]$ docker ps Moreover I can't connect to any of service urls except Mail UI |
Beta Was this translation helpful? Give feedback.
-
|
For additional reference. I run example from nhost and there everything run from first time. |
Beta Was this translation helpful? Give feedback.
-
|
Check out our latest release, v0.4.0 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Latest version 0.3.9 is unable to run. It looks like nself build doesn't create docker-compose.yml and SSL certificates not created.
Tested on MacOS, Rocky Linux, Ubuntu. No success anywhere.
Beta Was this translation helpful? Give feedback.
All reactions