GitHub Deploy Feature

Deploy applications directly from GitHub, GitLab, and Bitbucket repositories with minimal setup!

How It Works

The Akash Console now supports a powerful feature that allows users to deploy applications directly from GitHub, GitLab, and Bitbucket repositories, enabling rapid deployment of modern web apps and static sites with minimal setup.

This feature eliminates the need for manual Docker image building and pushing, making it easier than ever to deploy your applications to the Akash Network.

Key Benefits

  • One-click deployment: Connect your repository and deploy instantly
  • Automatic builds: No need to manually build and push Docker images
  • Framework detection: Automatically detects and configures popular frameworks
  • Environment variables: Easy configuration of app settings
  • Cost-effective: Deploy for a fraction of traditional cloud costs

Supported Repository Providers

The GitHub Deploy Feature supports the following repository providers:

  • GitHub - Full integration with GitHub repositories
  • GitLab - Connect your GitLab projects
  • Bitbucket - Deploy from Bitbucket repositories

Supported Frameworks

The feature automatically detects and configures the following frameworks:

JavaScript Frameworks

  • React - Single-page applications built with React
  • Vue.js - Progressive JavaScript framework
  • Next.js - React framework for production
  • Angular - Platform for building mobile and desktop web applications
  • Ember.js - Framework for ambitious web developers

Static Site Generators

  • Gatsby.js - React-based static site generator
  • Nuxt.js - Vue.js framework for universal applications
  • Astro - Modern static site builder
  • VitePress - Static site generator for technical documentation
  • 11ty.js - Simpler static site generator

Full-stack Frameworks

  • Remix - Full stack web framework
  • Vite - Next generation frontend tooling
  • Express.js - Fast, unopinionated web framework for Node.js

Step-by-Step Guide

Step 1: Access the GitHub Deploy Feature

  1. Navigate to the Akash Console
  2. Connect your wallet (Keplr or Leap)
  3. Click on the “Deploy” button in the main navigation
  4. Look for the “Build & Deploy” card

Akash Console Deploy Button

Step 2: Connect Your Repository

You have two options to connect your repository:

  1. Click “Build & Deploy” or similar option
  2. Choose your repository provider:
    • GitHub: Authenticate with your GitHub account and authorize Akash Console. Select your repository (public or private).
    • GitLab: Authenticate with your GitLab account and authorize Akash Console. Select your repository (public or private).
    • Bitbucket: Authenticate with your Bitbucket account and authorize Akash Console. Select your repository (public or private).
  3. Proceed with configuration and deployment as described in the next steps.

Note: The Akash Console supports deploying from private repositories on GitHub, GitLab, and Bitbucket. When connecting your account, you may be prompted to grant access to private repositories. Ensure you select the correct repository visibility during the selection step. All build and deployment steps are performed securely in the Akash Console.

Repository Selection

  1. On the deployment screen, look for the option to deploy via repo URL.
  2. Paste the full public repository link (e.g., https://github.com/username/repo).
  3. Enter the branch name you wish to deploy (e.g., main).
  4. Proceed with configuration and deployment as usual.

Note: This method only works for public repositories. Private repositories require provider authentication.

Paste Public Repo Link

Step 3: Configure Your Deployment

  1. Framework Detection: The console will automatically detect your project’s framework
  2. Build Settings: Configure build commands if needed
  3. Environment Variables: Add any required environment variables
  4. Domain Settings: Configure custom domains (optional)

Deployment Configuration

Step 4: Deploy Your Application

  1. Review your deployment settings.

  2. Click the Create Deployment button to proceed.

    Create Deployment Button

  3. Confirm deployment creation and set the amount if prompted.

    Confirm Deployment Creation

  4. Monitor the build and deployment progress.

    Deployment Progress

Step 5: Access Your Application

  1. Once deployment is complete, go to the Deployments page
  2. Copy the provided deployment URL or check the status
  3. Your application is now live on the Akash Network!

Deployment Success


Repository Requirements

Supported Repository Structure

Your repository should follow one of these structures:

For Static Sites (React, Vue, etc.)

your-project/
├── package.json
├── src/
├── public/
└── README.md

For Next.js Applications

your-project/
├── package.json
├── pages/
├── components/
└── next.config.js

For Express.js Applications

your-project/
├── package.json
├── server.js
├── routes/
└── README.md

Required Files

  • package.json - Must be present for Node.js applications
  • README.md - Recommended for project documentation
  • Framework-specific files - Such as next.config.js for Next.js

Environment Variables

Setting Environment Variables

  1. In the deployment configuration, navigate to the “Environment Variables” section
  2. Add your environment variables in the format:
    KEY=value
  3. Common environment variables include:
    • NODE_ENV=production
    • DATABASE_URL=your_database_url
    • API_KEY=your_api_key

Secure Environment Variables

  • Never commit sensitive environment variables to your repository
  • Use the console’s environment variable feature for sensitive data
  • Consider using Akash’s secret management for production deployments

Troubleshooting

Common Issues and Solutions

Build Failures

Issue: Deployment fails during build process

Solutions:

  • Check that your package.json has the correct build scripts
  • Ensure all dependencies are properly listed in package.json
  • Verify that your repository is public or properly connected

Framework Not Detected

Issue: Console doesn’t recognize your framework

Solutions:

  • Ensure your project follows the standard structure for your framework
  • Check that framework-specific files are present (e.g., next.config.js for Next.js)
  • Try manually selecting your framework in the configuration

Deployment Timeout

Issue: Deployment takes too long or times out

Solutions:

  • Check your build process for any hanging processes
  • Ensure your application starts properly
  • Verify that your application listens on the correct port

Environment Variables Not Working

Issue: Environment variables not being applied

Solutions:

  • Check the format of your environment variables (KEY=value)
  • Ensure your application is reading environment variables correctly
  • Restart the deployment after adding environment variables

Getting Help

If you encounter issues not covered here:

  1. Check the logs: Use the console’s log viewer to debug issues
  2. Community support: Join the Akash Discord for help
  3. Documentation: Refer to the Akash documentation for more details

Best Practices

Repository Setup

  1. Keep repositories public for easier deployment
  2. Use semantic versioning for your releases
  3. Include proper documentation in your README
  4. Test locally before deploying

Deployment Configuration

  1. Start with minimal configuration and add complexity as needed
  2. Use environment variables for configuration
  3. Monitor your deployments regularly
  4. Set up proper logging for debugging

Cost Optimization

  1. Choose appropriate resource allocation for your application
  2. Monitor usage to avoid unexpected costs
  3. Use the trial deployment to test before committing funds
  4. Consider using the $10 trial for initial testing

Advanced Configuration

Custom Build Commands

If your project requires custom build steps:

  1. Add a build script to your package.json:

    {
    "scripts": {
    "build": "your-custom-build-command"
    }
    }
  2. The console will automatically use your custom build command

Custom Domains

To use a custom domain:

  1. Configure your domain’s DNS to point to your Akash deployment
  2. Add the domain in the deployment configuration
  3. The console will handle SSL certificate generation

Persistent Storage

For applications requiring persistent storage:

  1. Configure persistent storage in your deployment settings
  2. Ensure your application is designed to work with the provided storage paths
  3. Consider data backup strategies for important data

Examples

React Application

Repository: https://github.com/your-username/react-app

Structure:

react-app/
├── package.json
├── src/
│ ├── App.js
│ └── index.js
├── public/
└── README.md

Deployment: Automatic detection and deployment of React application

Next.js Application

Repository: https://github.com/your-username/nextjs-app

Structure:

nextjs-app/
├── package.json
├── pages/
│ ├── index.js
│ └── _app.js
├── components/
├── next.config.js
└── README.md

Deployment: Automatic Next.js detection with SSR support

Express.js API

Repository: https://github.com/your-username/express-api

Structure:

express-api/
├── package.json
├── server.js
├── routes/
└── README.md

Deployment: Automatic Express.js detection with API endpoint exposure


Conclusion

The GitHub Deploy Feature makes it incredibly easy to deploy your applications to the Akash Network. With support for popular frameworks and repository providers, you can go from code to deployment in minutes.

Next Steps

  • Try the feature with a simple repository
  • Explore advanced configurations for production deployments
  • Join the community to share your experiences
  • Contribute to the Akash ecosystem

For more information about Akash deployments, see the Deployment Overview and Akash Console documentation.


footer-logo-dark

© Akash Network 2025 The Akash Network Authors Documentation Distributed under CC BY 4.0

Open-source Apache 2.0 Licensed.

GitHub v0.38.2

Privacy