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.
In today's software landscape, feature bloat often leads to cluttered and confusing interfaces. We recognize that developers are users too, and they deserve a superior experience. Nixopus takes a different approach - instead of stacking features, we focus on creating elegant software that appears simple on the surface while hiding powerful capabilities beneath.
While many excellent software solutions exist, each with their own strengths, we choose not to directly compare Nixopus with other solutions. Instead, we believe that true value comes from user engagement and community feedback. Our philosophy is simple: we invite you to explore Nixopus, share your experiences, and help shape its future. We understand that no software is perfect - there's always room for improvement, and it's the user's perspective that truly matters in making something great.
For complete documentation, visit our Documentation Portal.
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 [email protected] \
--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.
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.
Before contributing, please review and agree to our Code of Conduct. We're committed to maintaining a welcoming and inclusive community.
- 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
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.
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 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.