bernhard Posted July 7, 2023 Share Posted July 7, 2023 RockShell v2.0.0 is out. It's been in development for quite a long time and I use it on a daily basis. This module is a little special, as it has to be placed in the PW root folder (not in /site/modules). From there you can then call the shell interface via "php RockShell/rockshell" You can then use the "symlink" command to create a symlink in the root folder. After that you can call rockshell via "php rock" in the pw root folder. I've made it as easy as possible to create custom commands - you only need one config() and one handle() method! https://github.com/baumrock/RockShell/ 7 3 Link to comment Share on other sites More sharing options...
bernhard Posted August 11, 2023 Author Share Posted August 11, 2023 v2.1.0 is out ?? v2.1.0 Latest Bug Fixes command db:pull using old syntax (52f78e4) install command not working for dotnetic (2a68b11) rename rockshell to rock everywhere and update readme (2697bd6) Features add DbDownload command (2e91be7) add warning if PHP version is too low (a8caca8) We have a new db:download command and I created an alias for my laptop so that I can simply call "rockshell db:pull staging" instead of "ddev php rock db:pull staging" which is really nice if you use it often. 2 Link to comment Share on other sites More sharing options...
Spinbox Posted November 21, 2023 Share Posted November 21, 2023 Awesome stuff @bernhard I have incorperated rockshell to my workflow (together with ddev, thanks for that video, just found it). Togerther with RockMigrations they are a great improvement. A thing I noticed it doesn't delete install file and folder (and also non-used site profile, though I'm not sure the default installation deletes these) 1 Link to comment Share on other sites More sharing options...
bernhard Posted November 21, 2023 Author Share Posted November 21, 2023 Great to hear that, thx for letting me know ? Did you create an alias? That's really great. Then you can simply type "rockshell" and it will execute "ddev php rock ..." 1 Link to comment Share on other sites More sharing options...
Spinbox Posted November 21, 2023 Share Posted November 21, 2023 Yes, I have added rockshell alias, and a function to make it some less effort to get default setup. function setup_spinbox_project() { # Convert project name to lowercase local project_name=$(echo "$1" | tr '[:upper:]' '[:lower:]') # Check if project name is provided if [[ -z "$project_name" ]]; then echo "Please provide a project name." return 1 fi # Clone the repository and check for success git clone git@gitlab.com:#############################.git "$project_name" if [ $? -ne 0 ]; then echo "Failed to clone the repository. Check your access rights." return 1 fi # Change to the project directory cd "$project_name" || return # Run ddev config ddev config # Automatically add phpMyAdmin to .ddev/config.yaml echo "services:" >> .ddev/config.yaml echo " phpmyadmin:" >> .ddev/config.yaml echo " type: phpmyadmin" >> .ddev/config.yaml echo " port: 8036" >> .ddev/config.yaml # Start ddev ddev start # Run RockShell commands rockshell pw:download rockshell pw:install echo "Setup for $project_name complete." } 1 Link to comment Share on other sites More sharing options...
bernhard Posted November 21, 2023 Author Share Posted November 21, 2023 Nice ? Why are you adding phpmyadmin? Isn't that a ddev default anyhow? 45 minutes ago, Spinbox said: A thing I noticed it doesn't delete install file and folder (and also non-used site profile, though I'm not sure the default installation deletes these) And could you please give me some more details if there's something that should be fixed here? Link to comment Share on other sites More sharing options...
Spinbox Posted November 21, 2023 Share Posted November 21, 2023 19 minutes ago, bernhard said: Nice ? Why are you adding phpmyadmin? Isn't that a ddev default anyhow? 1 hour ago, Spinbox said: It isn't anymore. but the following code can be changed for ddev get ddev/ddev-phpmyadmin # Automatically add phpMyAdmin to .ddev/config.yaml echo "services:" >> .ddev/config.yaml echo " phpmyadmin:" >> .ddev/config.yaml echo " type: phpmyadmin" >> .ddev/config.yaml echo " port: 8036" >> .ddev/config.yaml When you have to choose Timezone you have to set an integer (god knows which), instead of for example Europe/Amsterdam 19 minutes ago, bernhard said: And could you please give me some more details if there's something that should be fixed here? I will try to look into the specifics 1 Link to comment Share on other sites More sharing options...
bernhard Posted November 21, 2023 Author Share Posted November 21, 2023 Ok thx, I was just curious. I'm not adding phpmyadmin in my setup. I'm always using Adminer that comes with tracy debugger ? 1 Link to comment Share on other sites More sharing options...
Spinbox Posted November 22, 2023 Share Posted November 22, 2023 (edited) It's probably easier to use Adminer (since I also use tracy). I have been using phpmyadmin for so long that I didn't think about alternatives ? I have tried to get the pw:install command working. It looks like the stepAdmin data isn't being saved (url, user credentials,) or executed properly, the install files don't get deleted either. owever, this does work when I use them as options --name=Name etc. Not sure why that is. After some more testing I found out I actually didn't delete the previous databases these tries. My bad. Edited November 23, 2023 by Spinbox Link to comment Share on other sites More sharing options...
Tiberium Posted January 9 Share Posted January 9 Ho, is it possible to config that (for example) the db:pull command will use a ssh-key file and the place would be configurable via the $config options? I mean, i know it can't use my ssh-agent on the host, but it would help in a team env, where you add the keys of the dev's in the authorization file on the server. Never mind, the answer is to load the .ssh in the ddev container... (from the ddev manual) If you use SSH inside the container and want to use your .ssh/config, consider mkdir -p ~/.ddev/homeadditions/.ssh && ln -s ~/.ssh/config ~/.ddev/homeadditions/.ssh/config. Some people will be able to symlink their entire .ssh directory, ln -s ~/.ssh ~/.ddev/homeadditions/.ssh. If you provide your own .ssh/config though, please make sure it includes these lines: UserKnownHostsFile=/home/.ssh-agent/known_hosts StrictHostKeyChecking=accept-new The option can set global, like above in ~/.ddev or per project projectFolder/.ddev 1 Link to comment Share on other sites More sharing options...
bernhard Posted May 6 Author Share Posted May 6 From the Rock Monthly newsletter: RockShell v3.0.0 Folders are now protected from direct access via .htaccess thx to a PR from @netcarver (but I don't think it was a security risk before) @netcarver also suggested to change the folder structure. This might break some commands, so I bumped the version to 3.0 (it might work without any changes though!) Made wget quiet in pw:install command as requested by @netcarver 2 Link to comment Share on other sites More sharing options...
netcarver Posted May 6 Share Posted May 6 Thanks for the updates, Bernhard. Seems like I somewhat monopolised things this month :) 1 Link to comment Share on other sites More sharing options...
bernhard Posted May 6 Author Share Posted May 6 Haha, thx @netcarver it was great input ? Link to comment Share on other sites More sharing options...
bernhard Posted August 1 Author Share Posted August 1 RockShell v3.2.0: Some minor fixes and improvements to existing commands Link to comment Share on other sites More sharing options...
Jonathan Lahijani Posted August 13 Share Posted August 13 @bernhard Can pw:install be completely unattended if I execute it with all the required options on the command line (which I'm guessing is not possible for database info) or does it require "stepping" through given that it's built with BrowserKit? Note: I'm not using ddev if that matters. 1 Link to comment Share on other sites More sharing options...
bernhard Posted August 13 Author Share Posted August 13 Hi @Jonathan Lahijani I think that should work. I just didn't have a need for it and it will need some adjustments to the command but I'm happy to merge it if you want to work on that. 1 Link to comment Share on other sites More sharing options...
Ivan Gretsky Posted August 16 Share Posted August 16 On 8/13/2024 at 10:14 PM, Jonathan Lahijani said: @bernhard Can pw:install be completely unattended if I execute it with all the required options on the command line (which I'm guessing is not possible for database info) or does it require "stepping" through given that it's built with BrowserKit? Note: I'm not using ddev if that matters. Wire-cli can do that (as a successor to Wireframe). I use it to script PW installation together with RockMigrations. I've written to @ryan about PW cli installation out of the box. Asked him if he would be interested to implement it. He didn't decide to work on this task yet, but he gave me this advice. I think he wouldn't mind if I repost it here: Quote The way you describe it [all the steps needed to create an installation would be abstracted in a class, that could be included both in web installer script and a cli installer script] makes sense to me, having a class that contains it all. It already does, but of course that class contains both the interactive and install code, rather than just the install code. The main purpose of the installer really is just the interactive portion of it. Technically you could clone a just-installed copy to another location, dump the DB to a db.sql file and that would leave you with just these steps: 1. Import the DB from the shell: mysql -uuser -ppass -hhost dbName < db.sql 2. Update the /site/config.php (dbName, dbUser, dbPass, dbHost, httpHosts, userAuthHash) 3. Boot PW include('./index.php') so you can $users->get('admin')->setAndSave('pass', 'hello123'); 2 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now