8000 GitHub - shravan20/nixopus: Nixopus is a powerful platform designed to simplify VPS management.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

shravan20/nixopus

 
 

Repository files navigation

Nixopus

Streamline Your Entire Server Workflow — ServerOps with No Fuss

Nixopus Logo

Security Scan Package Manager Release

YouTube Video Views ‎ ‎ ‎ Discord

Made with love with Open Source

Website | Documentation

Project Overview

Nixopus is a powerful platform designed to simplify VPS management. Whether you're a DevOps engineer, system administrator, or developer, Nixopus streamlines your workflow with comprehensive tools for deployment, monitoring, and maintenance.

⚠️ Important Note: Nixopus is currently in alpha/pre-release stage and is not yet ready for production use. While you're welcome to try it out, we recommend waiting for the beta or stable release before using it in production environments. The platform is still undergoing testing and development.

Features

  • Simplified VPS management
    • 1 Click Application Deployment: Deploy applications effortlessly with a single click.
    • Integrated Web-Based Terminal: Access your server's terminal directly from the browser.
    • Intuitive File Manager: Navigate and manage server files through a user-friendly interface.
    • Real Time Monitoring: Monitor your server's CPU, RAM, containers usage in real-time.
    • Built in TLS Management: Configure & manage TLS certificates for your domains.
    • GitHub Integration for CI/CD: Seamlessly integrate GitHub repositories.
    • Proxy Management via Caddy: Configure and manage reverse proxies.
    • Notification Integration: Configure to send real-time alerts to channels including Slack, Discord, or Email.
  • Comprehensive deployment tools
  • User-friendly interface
  • Customizable installation options
  • Self Host Deployment

Table of Contents

Demo / Screenshots

Self Host Stats Team Display File Manager
Self Host Stats Team Display File Manager
Self Host Logs Dashboard Overview Notification Preferences
Self Host Logs Dashboard Overview Notification Preferences

Installation & Quick Start

This section will help you set up Nixopus on your VPS quickly.

To install Nixopus on your VPS, ensure you have sudo access and run the following command:

sudo bash -c "$(curl -sSL https://raw.githubusercontent.com/raghavyuva/nixopus/refs/heads/master/scripts/install.sh)"

Optional Parameters

You can customize your installation by providing the following optional parameters:

  • --api-domain: Specify the domain where the Nixopus API will be accessible (e.g., nixopusapi.example.tld)
  • --app-domain: Specify the domain where the Nixopus app will be accessible (e.g., nixopus.example.tld)
  • --email or -e: Set the email for the admin account
  • --password or -p: Set the password for the admin account

Example with optional parameters:

sudo bash -c "$(curl -sSL https://raw.githubusercontent.com/raghavyuva/nixopus/refs/heads/master/scripts/install.sh)" -- \
  --api-domain nixopusapi.example.tld \
  --app-domain nixopus.example.tld \
  --email admin@example.tld \
  --password Adminpassword@123 \
  --env production

Accessing Nixopus

After successful installation, you can access the Nixopus dashboard by visiting the URL you specified in the --app-domain parameter (e.g., https://nixopus.example.tld). Use the email and password you provided during installation to log in.

Note: The installation script has not been tested in all distributions and different operating systems. If you encounter any issues during installation, please create an issue on our GitHub repository with details about your environment and the error message you received.

Usage

Once installed, Nixopus provides a dashboard for managing your VPS. You can deploy applications, monitor performance, and perform maintenance tasks directly from the interface.

Architecture

Nixopus is built using a microservices architecture, leveraging Go for backend services and React for the frontend. It uses PostgreSQL for data storage and is designed to be scalable and efficient. To learn more about the architecture, refer to the Architecture Overview section in the documentation.

Development Guide

Development Setup

  1. Clone the repository:
git clone https://github.com/raghavyuva/nixopus.git
cd nixopus
  1. Install Go (version 1.23.6 or newer), and PostgreSQL.

  2. Set up PostgreSQL databases:

createdb postgres -U postgres

createdb nixopus_test -U postgres
  1. Copy and configure environment variables:
cp .env.sample .env
  1. Install project dependencies:
cd api
go mod download

cd ../view
yarn install

Running the Application

  1. Start the API service:
cd api
air
  1. Start the view service:
cd view
yarn dev

Making Changes

Nixopus follows Forking-Workflow conventions.

  1. Create a new branch:
git checkout -b feature/your-feature-name
  1. Make your changes following the project structure:

    • Place new features under api/internal/features/
    • Add tests for new functionality
    • Update migrations if needed
    • Follow existing patterns for controllers, services, and storage
    • For frontend changes, follow the Next.js app directory structure
  2. Run tests:

cd api
make test

# View linting
cd view
yarn lint
  1. Commit your changes with clear messages.

Submitting a Pull Request

  1. Push your branch and create a pull request.
  2. Ensure your code:
    • Follows the project structure
    • Includes tests
    • Updates documentation if needed
    • Passes all CI checks
  3. Be prepared to address feedback.

Proposing New Features

  1. Check existing issues and pull requests.

  2. Create a new issue with the Feature request template.

    < 949D /li>
  3. Include:

    • Feature description
    • Technical implementation details
    • Impact on existing code

Extending Documentation

Documentation is located in the docs/ directory. Follow the existing structure and style when adding new content.

Contribution Guidelines

Thank you for your interest in contributing to Nixopus! This guide will help you get started with the development setup and explain the contribution process.

Sponsorship

We've dedicated significant time to making Nixopus free and accessible. Your support helps us continue our development and vision for open source. Consider becoming a sponsor and join our community of supporters.

  • GitHub Sponsors
  • Donate to raghavyuva via Liberapay

Community & Support

If you find Nixopus useful, please consider giving it a star and sharing it with your network!

License

Nixopus is licensed under the MIT License. See the LICENSE file for more information.

Code of Conduct

Before contributing, please review and agree to our Code of Conduct. We're committed to maintaining a welcoming and inclusive community.

Acknowledgments

We would like to thank all contributors and supporters of Nixopus. Your efforts and feedback are invaluable to the project's success.

About the Name

Nixopus is derived from the combination of "octopus" and the Linux penguin (Tux). While the name might suggest a connection to NixOS, Nixopus is an independent project with no direct relation to NixOS or its ecosystem.

Contributors

Nixopus project contributors

Made with contrib.rocks.

🎗️ Sponsors

Avatar Sponsor
shravan20

❤️ Thank you for your support!

About

Nixopus is a powerful platform designed to simplify VPS management.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 50.7%
  • TypeScript 41.9%
  • Python 5.2%
  • HTML 0.8%
  • CSS 0.6%
  • PLpgSQL 0.4%
  • Other 0.4%
0