STAND (Scalable Technology for Advanced Network Deployment) is a self-hosting open-source project designed for on-premise servers. It allows users to deploy applications directly from GitHub using a simple and intuitive web UI. STAND aims to simplify deploying and managing applications on local servers, providing a scalable and efficient solution. All the data required to deploy and host the applications is stored locally, ensuring data privacy and security and providing the user full control over their data.
To install STAND, follow these steps:
- Clone the repository:
git clone https://github.com/bitspaceorg/stand-fosshack.git
- Navigate to the project directory:
cd stand-fosshack
- Install the application:
make install
To use STAND, follow these steps:
- Initialize the application:
stand init
- Start the application:
stand start
- Open your web browser and navigate to
http://localhost:3000
. - Download the GitHub app as per the instructions provided on the web UI.
- Start hosting your projects.
- Automated Configuration: Automatically generates configuration files based on user input through the web UI, eliminating the need for manual edits.
- Scalability: Easily manage and scale your on-premise servers and applications.
- Simple Web UI: Intuitive and user-friendly interface for deploying applications directly from GitHub repositories.
- Customizable Deployment: Supports various programming languages and versions, with customizable build and run commands.
- Efficient Logging: Configurable log directories for easy access and management of application logs.
- Environment Management: Easily set and manage environment variables for your applications.
- Quick Initialization: Simple commands (
stand init
andstand start
) to initialize and start the application, getting you up and running quickly. - Secure Hosting: Provides options for enabling SSL to secure your deployments.
STAND generates the following configuration automatically based on user input from the web UI:
project:
name: your_project_name
home: /path/to/your/project
log: /path/to/log/directory/
requirements:
language: your_language
version: your_version
build:
- name: install_dependencies
cmd: your_install_command
run:
- name: start_application
cmd: your_start_command
env:
- name: ENV_VARIABLE_NAME
value: your_value
This configuration file is generated automatically and does not need to be manually edited. Users can specify project details, dependencies, build commands, run commands, and environment variables through the web UI, and STAND will handle the rest.
We used GO for its exceptional performance and efficiency, GO also provides great support for concurrency and parallelism which is essential for a project like STAND.
The reason for using Next.js is its ability to provide a great user experience with its server-side rendering capabilities and its ability to provide a great developer experience with its hot reloading feature.
Currently, STAND supports NodeJS applications, but we plan to add support for more languages and frameworks in the future.
NPM is used to manage the dependencies of the node applications.
We welcome contributions from the community! If you would like to contribute to STAND, please follow the steps below:
- Fork the repository
- Clone the repository
- Create a new branch
- Make your changes
- Commit your changes
- Push your changes to your fork
- Create a pull request explaining your changes
If possible try to create an issue before making a pull request so that we can discuss the changes and make sure that they are in line with the project goals. Note: Please make sure to follow the code of conduct and the contribution guidelines when contributing to STAND.
STAND is licensed under the GNU GENERAL PUBLIC LICENSE. See the LICENSE file for more details.