diff --git a/hack/install.ps1 b/hack/install.ps1 new file mode 100644 index 0000000000..51c6f08322 --- /dev/null +++ b/hack/install.ps1 @@ -0,0 +1,77 @@ +# PowerShell script to download and install Daytona binary + +# Determine architecture +$architecture = if ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") { "amd64" } else { "arm64" } + +# Define version and download URL +$version = if ($env:DAYTONA_SERVER_VERSION) { $env:DAYTONA_SERVER_VERSION } else { "latest" } +$baseUrl = if ($env:DAYTONA_SERVER_DOWNLOAD_URL) { $env:DAYTONA_SERVER_DOWNLOAD_URL } else { "https://download.daytona.io/daytona" } +$destination = if ($env:DAYTONA_PATH) { $env:DAYTONA_PATH } else { "$env:APPDATA\bin\daytona" } +$downloadUrl = "$baseUrl/$version/daytona-windows-$architecture.exe" + +Write-Host "Installing Daytona..." + +Write-Host "" # Empty line + +# Display installation directory +if ($env:DAYTONA_PATH) { + Write-Host "Using custom installation directory: $destination" +} +else { + Write-Host "Default installation directory: $destination" + Write-Host "You can override this by setting the DAYTONA_PATH environment variable." +} + +# Create destination directory if it doesn't exist +if (!(Test-Path -Path $destination)) { + Write-Host "Creating installation directory at $destination" + New-Item -ItemType Directory -Force -Path $destination | Out-Null + Write-Host "" # Empty line +} + +# File to download +$outputFile = "$destination\daytona.exe" + +# Download the file with progress using Invoke-WebRequest +try { + Write-Host "Downloading Daytona binary from $downloadUrl" + + Invoke-WebRequest -Uri $downloadUrl -OutFile $outputFile -UseBasicParsing -ErrorAction Stop + + Write-Host "" # Empty line + Write-Host "Download complete!" +} +catch { + Write-Error "Failed to download Daytona binary: $_" + exit 1 +} + +# Set executable permissions +try { + Write-Host "Setting executable permissions for Daytona binary..." + Set-ItemProperty -Path $outputFile -Name IsReadOnly -Value $false + [System.IO.File]::SetAttributes($outputFile, 'Normal') +} +catch { + Write-Error "Failed to set executable permissions: $_" + exit 1 +} + +# Add to PATH if not already present +if (-not ($env:Path -split ';' | ForEach-Object { $_.TrimEnd('\') } | Where-Object { $_ -eq $destination })) { + Write-Host "Adding $destination to PATH..." + [System.Environment]::SetEnvironmentVariable("Path", "$env:Path;$destination", [System.EnvironmentVariableTarget]::User) + Write-Host "PATH updated successfully!" +} +Write-Host "" # Empty line + +# Confirm installation +if (Test-Path $outputFile) { + Write-Host "Daytona has been successfully installed to $destination" + Write-Host "You can now use 'daytona' from the command line." +} +else { + Write-Error "Daytona installation failed." + exit 1 +} +Write-Host "" # Empty line diff --git a/hack/samples/index.json b/hack/samples/index.json index b7e1744add..b4b15c9cd8 100644 --- a/hack/samples/index.json +++ b/hack/samples/index.json @@ -595,130 +595,5 @@ "name": "Sample React Opinion Panel", "description": "This is a Simple React project which helps to collect opinion and shows average opinon of the panel.", "gitUrl": "https://github.com/daytonaio/sample-react-opinion-panel" - }, - { - "name": "Implementation of RAG for osho chatbot", - "description": "This sample showcases the core implementation of the Osho Chatbot, leveraging Retrieval-Augmented Generation (RAG) for generating responses grounded in Osho's teachings. The knowledge base is constructed from content scraped from alaalsayid.com.", - "gitUrl": "https://github.com/daytonaio/sample-python-rag-chatbot" - }, - { - "name": "HackHound", - "description": "HackHound makes web security testing visual and simple. Built with React and Python, it automatically hunts for vulnerabilities while showing real-time results. Features include directory fuzzing, subdomain discovery, and API testing - all in one modern interface.", - "gitUrl": "https://github.com/aayushman-singh/HackHound" - }, - { - "name": "Sample React Calculator", - "description": "A simple calculator built using React.js, demonstrating the basic functionality of a calculator.", - "gitUrl": "https://github.com/codedpool/daytonaio" - }, - { - "name": "Sample React AI Image Generator", - "description": "The AI Image Generator creates realistic images from descriptive prompts, ensuring high-quality outputs with efficiency using the black-forest-labs/FLUX.1-dev model.", - "gitUrl": "https://github.com/daytonaio/sample-react-ai-image-generator" - }, - { - "name": "Sample Python C.A.L.M App", - "description": "C.A.L.M is designed to assist students by providing mental health and emotional support through conversational AI.", - "gitUrl": "https://github.com/daytonaio/sample-python-calm-app" - }, - { - "name": "HealthBot AI", - "description": "HealthBot AI is an intelligent chatbot designed to provide timely text responses tailored for health practitioners.", - "gitUrl": "https://github.com/NyuydineBill/Nyuydine-AI-chatbot-django" - }, - { - "name": "Python + llmware + tkinter/AI-ChatBot", - "description": "A powerful chatbot that can answer all your questions built using LLMWARE integrated with the model 'phi-3-gguf'.", - "gitUrl": "https://github.com/rustam27332/ai-chatbot-daytona" - }, - { - "name": "Store", - "description": "This is a sample online store that lets you view fake products and add them to cart", - "gitUrl": "https://github.com/daytonaio/sample-nextjs-store" - }, - { - "name": "Sample Next.js with Gemini Chat", - "description": "A simple Next.js app that provides a basic chat interface powered by Gemini for easily making AI-powered chat applications.", - "gitUrl": "https://github.com/daytonaio/sample-nextjs-gemini-chat" - }, - { - "name": "Sample JavaScript Restaurant", - "description": "A Restaurant-Website web application using HTML,CSS and Javascript.", - "gitUrl": "https://github.com/daytonaio/sample-javascript-restaurant" - }, - { - "name": "Nextjs - Aceternity UI sample", - "description": "GlobalSync is an frontend project made with Aceternity UI", - "gitUrl": "https://github.com/daytonaio/sample-nextjs-aceternity" - }, - { - "name": "BMI Calculator Daytona", - "description": "The project serves as a sample to demonstrate how Daytona simplifies setting up and managing development environments.", - "gitUrl": "https://github.com/Bhanu-partap-13/Daytona-Sample-HTML-CSS-Javascript" - }, - { - "name": "ToDo Sample Daytona", - "description": "A to-do website with task scheduling, progress tracking via graphs, and a dark mode feature for an enhanced user experience and efficient task management.", - "gitUrl": "https://github.com/SagarSharma101/To-do-Daytona" - }, - { - "name": "Sample PHP URL Shortener", - "description": "A simple URL shortener web application built using PHP and MySQL.", - "gitUrl": "https://github.com/daytonaio/sample-php-url-shortener" - }, - { - "name": "Chat with Llama with Daytona", - "description": "This repository contains a sample FastAPI application that leverages the Llama 3.2-Vision multimodal language model to generate image captions. It demonstrates seamless integration with Daytona for managing reproducible and secure development environments.", - "gitUrl": "https://github.com/daytonaio/sample-python-fastapi-authorizer" - }, - { - "name": "Sample React guessing game", - "description": "A simple guessing game where users get to predict if the next number generated is in a given range.", - "gitUrl": "https://github.com/daytonaio/sample-react-guessing-game" - }, - { - "name": "Smart News Flow with Daytona", - "description": "A simple React platform Smart News Flow which utilizes Fluvio's real-time data streaming capabilities combined with Groq's fast inference large language models (LLMs) to deliver an enhance and refine historical and realtime news content from various source(currently only supports NewsAPI) with just a single prompt.", - "gitUrl": "https://github.com/Precious-Macaulay/Smart-News-Flow-with-Daytona" - }, - { - "name": "Python / Convomate", - "description": "A Simple Chatbot Using Mistral", - "gitUrl": "https://github.com/daytonaio/sample-python-mistral-chatbot" - }, - { - "name": "Study Buddy AI", - "description": "Interactive Flashcard and Quiz Generator App", - "gitUrl": "https://github.com/sanketshinde3001/Study-Buddy" - }, - { - "name": "Priority based Todo-List", - "description": "Users can add tasks based on their priority, mark tasks as complete, or delete them, either through a form or with AI assistance.", - "gitUrl": "https://github.com/Vaishnavi-Raykar/Priority-Todo" - }, - { - "name": "GitWrap", - "description": "GitWrap analyzes your GitHub contributions, showcasing a personalized summary of your coding journey throughout the year. Reflect, celebrate, and share your open-source achievements!.", - "gitUrl": "https://github.com/singodiyashubham87/GitWrap" - }, - { - "name": "Dreamify - Manifestation Journal", - "description": "A journaling app with AI insights, habit tracking, and a vision board used react , flask and gen ai", - "gitUrl": "https://github.com/sneha-4-22/Dreamify" - }, - { - "name": "Discord Bot with Image Generation", - "description": "A Python bot for Discord that generates images using Prodia's API.", - "gitUrl": "https://github.com/TheCoderAdi/discord-bot" - }, - { - "name": "Bank Application (Bank Chor) - Using Spring Boot & REST API with Daytona", - "description": "A bank application featuring account creation, deposits, and withdrawals, implemented with Spring Boot and integrated with Daytona for streamlined development.", - "gitUrl": "https://github.com/harshsinghcs/SpingBoot-BankProject-withDaytona" - }, - { - "name": "An Web site Builder with prompt", - "description": "A simple typescript project that generates a website based on the user's prompts that is build on top of claude ai api.", - "gitUrl": "https://github.com/saurabh007007/Dev-Vashudev" } -] \ No newline at end of file +]