-
-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support deploying without a Dockerfile #118
Conversation
I like where this is going, but I see some other areas where I can improve. Let me keep this open and I will circle back to it 👍 |
Hey Nick! Hope you're well. I am nearing of launching Spin v3 and this fix will be included. I ran into an issue trying to get your fix merged with my changes on my branch, so I just created a commit. Unfortunately you won't get the credit for the contribution through GitHub though 😢 I am very grateful for you pointing this out though! The AI Overlords also advised me to take a different approach where it's more POSIX-compliant 🤖🙌 Here's the change: 4bb5a52 Good news is you'll be able to deploy images without requiring Dockerfiles in v3. Thanks again for your help! |
No worries man, at least its added properly now :) Thanks for looking into it. |
* Added .spin.yml to gitignore * Remove encryption * Shellcheck fixes * Shellcheck improvments * Improved error message * Shellcheck improvements * Cleaned up Ansible variable retrieval and prompts * Allow force upgrade of collection * Set inventory * Added force flag to prune * Set remote user and target * Added Spin maintain and restructured provision * Revert collection name * Added cursor rules * Regoranized and centralized functions * Restructured Ansible functionality * Reorganized file * A-z function names * Restructured to support smooth upgrades from Spin v2 * Reset temporary collection source * Added other projects * Added extra space * Added other projects * Added Spin Hub * Fixed laravel basic link * Improved Ansible vault support * Initial docs update * Fix 404 links * Fix responsive images * Set latest pre-release track only * Fix date command * Revert install behavior * Fix quotes * Added notes * Add 'Get Help' documentation page * Add documentation for testing new releases of Spin * Added environments to spin provision and maintain * Added help notes * Added canonical URLs * Refactor validation logic in project setup - Moved CI folder creation logic into the validate_project_setup function. - Added validate_spin_yml function to check for the existence of .spin.yml. - Updated action_maintain and action_provision to call validate_spin_yml for improved validation flow. * Added canonical URLs to documentation files for improved SEO and accessibility. * Added "gh" documentation * Added comparison table * Reorganized the "Automated Deployments with GitHub Actions" section in the deployment strategy documentation for clarity and consistency. The content was moved to improve the flow of information, ensuring users can easily access deployment guides. * Enhance troubleshooting documentation for service management in Docker - Added guidelines for diagnosing connection issues between services, including checks for environment variables and service passwords. - Included instructions for stopping services, removing volumes, configurations, and networks using Docker commands. - Added a section on pruning unused resources to free up disk space. These updates aim to provide clearer guidance for users managing Docker services and troubleshooting common issues. * Added maintenance image * Remove canonical * Added explanation of spin maintain * Added firewall notes * Update volume mount path in run_gh function from /workdir to /app for improved clarity in Docker configuration * Add notes on spin provison (#138) * Fix example * Update "Use Any Host" documentation to clarify Spin's compatibility with various hosting environments and link to server requirements * Improve argument parsing. Fixes #136 * Documentation UX updates (#139) * Keeps the active page in view on the navigation * Installed hotkeys for FF support fixes #107 * Fix typo in comment * Set authorized keys for deployment (if set) * Support deployments without dockerfiles (Ref #118) * Fix array * Fix doc titles * Remove unnecessary blank line in NPM/Yarn installation documentation * Enhance deploy script to allow customizable Docker registry image. Default to 'registry:2' if not specified. This improves flexibility for deployments. * Fix Docker command in troubleshooting documentation to ensure 'sudo' is used consistently for executing commands in containers. * Added Spin v2 to v3 migration guide * Enhance deploy script: add cleanup for unused Docker images, update image tagging to use timestamp, and improve variable naming for clarity. * Refactor Ansible vault password validation in functions.sh to improve error handling and user feedback. The script now checks if the variable file is encrypted before validating the password, and provides clearer error messages for invalid passwords. * Refactor deploy script to improve variable naming for SSH user and port. Updated variables from 'ssh_user' and 'ssh_port' to 'SPIN_SSH_USER' and 'SPIN_SSH_PORT' for better clarity and consistency. * Changed docker builds from localhost for 127.0.0.1 so it matches Docker's insecure registry defaults without requiring https * Enhance Spin debugging capabilities: added SPIN_DEBUG environment variable to enable debug logs in the spin script. Updated documentation to include instructions for using SPIN_DEBUG for troubleshooting and added examples for Docker health check failures. * Fix path references to Ansible vault when running with Docker * Refactor Ansible vault argument handling to support local and Docker runs. The `set_ansible_vault_args` function now accepts a `run_type` parameter, allowing for different vault password file paths based on the execution context. This improves flexibility and clarity in vault management. * Ready for v3 stable 🥳 --------- Co-authored-by: Dan Pastori <dan@521dimensions.com>
It would be nice to be able to deploy spin projects that do not contain a Dockerfile. For example I have deployed a spin project with just containing a traefik service, allowing to deploy multiple web projects on a single server that use the same Traefik instance.
The
+e
/-e
is needed to make sure the deploy script doesnt exit when no dockerfile is found. This happens on Mac when ls is not returning any results. There might be a better way around this, I'm open for alternatives.