Streamline Your Entire Server Workflow — ServerOps with No Fuss
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.
- 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
- Project Overview
- Features
- Table of Contents
- Demo / Screenshots
- Installation & Quick Start
- Usage
- Architecture
- Development Guide
- Contribution Guidelines
- Sponsorship
- Community & Support
- License
- Code of Conduct
- Acknowledgments
- About the Name
- Contributors
- 🎗️ Sponsors
Self Host Stats | Team Display | File Manager |
---|---|---|
Self Host Logs | Dashboard Overview | Notification Preferences |
---|---|---|
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)"
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
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.
Once installed, Nixopus provides a dashboard for managing your VPS. You can deploy applications, monitor performance, and perform maintenance tasks directly from the interface.
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.
- Clone the repository:
git clone https://github.com/raghavyuva/nixopus.git
cd nixopus
-
Install Go (version 1.23.6 or newer), and PostgreSQL.
-
Set up PostgreSQL databases:
createdb postgres -U postgres
createdb nixopus_test -U postgres
- Copy and configure environment variables:
cp .env.sample .env
- Install project dependencies:
cd api
go mod download
cd ../view
yarn install
- Start the API service:
cd api
air
- Start the view service:
cd view
yarn dev
Nixopus follows Forking-Workflow conventions.
- Create a new branch:
git checkout -b feature/your-feature-name
-
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
- Place new features under
-
Run tests:
cd api
make test
# View linting
cd view
yarn lint
- Commit your changes with clear messages.
- Push your branch and create a pull request.
- Ensure your code:
- Follows the project structure
- Includes tests
- Updates documentation if needed
- Passes all CI checks
- Be prepared to address feedback.
-
Check existing issues and pull requests.
-
Create a new issue with the
< 949D /li>Feature request
template. -
Include:
- Feature description
- Technical implementation details
- Impact on existing code
Documentation is located in the docs/
directory. Follow the existing structure and style when adding new content.
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.
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.
If you find Nixopus useful, please consider giving it a star and sharing it with your network!
Nixopus is licensed under the MIT License. See the LICENSE file for more information.
Before contributing, please review and agree to our Code of Conduct. We're committed to maintaining a welcoming and inclusive community.
We would like to thank all contributors and supporters of Nixopus. Your efforts and feedback are invaluable to the project's success.
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.
Made with contrib.rocks.
Avatar | Sponsor |
---|---|
shravan20 |
❤️ Thank you for your support!