Giter VIP home page Giter VIP logo

opi's Introduction


Logo

OPi | Orange Pi Infrastructure

Let's bora!
Read The Fluffy Docs »
Report Bug · Request Feature
English | Português

Table of Contents
  1. About The Project
  2. Requirements
  3. Useful Content
  4. How to Use
  5. Roadmap
  6. Contributing

About The Project

This repository offers detailed instructions for deploying multiple services on an Orange Pi. The primary goal is to establish a fully functional, low-consumption infrastructure thats the the size of a credit card.

Why

Unlike the Raspberry Pi, the Orange Pi community is still growing. You might not find as much content about it online, but this piece of hardware is incredible and a fantastic board to work with. It's more affordable, and personally, I'm not even including the I/O capabilities.

This repo serves as a proof of concept for running an on-premise server with an Orange Pi 3B. I am sharing my ongoing process for setting up an infrastructure using container runtimes such as Docker, containerd, CRI-O, and Podman, along with Kubernetes and possibly NixOS, Ansible, and Proxmox. I also plan to include instructions for automated builds, deployment, testing, logging, and ephemeral environments, check the Roadmap :). Any tips or references for improvements, security, and hardening are always welcome.

By now it should only work for myself.

Made With

Docker Kubernetes Nix nginx OrangePi Podman

(back to top)

First Steps

Prepare your system by installing the necessary tools and configuring access permissions.

Requirements

This section lists the crucial requirements needed to set up the system. You will need an Orange Pi equipped with a compatible operating system, such as OPiOS or Armbian. A solid grasp of terminal commands and basic Kubernetes concepts is necessary for proper setup and operation. For storage, an SSD is recommended for its speed and reliability, though an SD card could suffice, albeit with potentially slower performance. For added flexibility, consider including a power bank to power your Orange Pi without the need for a continuous connection to a wall outlet. An Ethernet switch could also be beneficial if you plan to connect multiple devices, facilitating a more robust network setup.

Essential

  • An Orange Pi with a compatible operating system installed (e.g., OPiOS, Armbian). You can find reference, links and where to Buy in the official OrangePi website.
  • Internet connectivity on the Orange Pi.
  • Understanding of terminal commands and Kubernetes concepts Kubernetes.
  • SSD for storage; it is possible to use an SD card, but this may be too slow for optimal performance.

PS: For the OPi3B, the manufacturer recommends SSDs with 2230 or 2242 form factors.

Optional

  • A power bank to enable operation detached from a wall power source.
  • An Ethernet switch for connecting multiple devices.

Container Runtime

This subsection will provide detailed instructions for installing your chosen container runtime, ensuring you have the necessary tools and processes in place for a smooth deployment. !TODO: list instructions

Docker

Podman

Kubernetes

Choosing a Kubernetes Distribution

!TODO: explain

Kubernetes Installation

!TODO: describe

(back to top)

Useful Content

  1. Security

How to Use

Detailed steps on how to use the infrastructure for hosting applications.

(back to top)

Roadmap

  • ✅ Add Readme
  • ❌ Add Changelog
  • ❌ Nix
    • ❌ How to build nixos kernel distribution for ➡️ RK3566
  • ❌ Logging, ELK, Prometheus, what's that ?
  • ❌ Proxmox, Ansible, Terraform
  • ❌ Add instruction for Podman
    • ❌ Networking
    • ❌ Persistence
  • ❌ Expand Kubernetes configurations

(back to top)

Contributing

!TODO

(back to top)

opi's People

Contributors

glwbr avatar

Watchers

 avatar

opi's Issues

Install and Configure auditd for threat detection

Need to install and configure auditd service on OrangePi to enhance security monitoring and compliance. The goal is to track security-related events, ensuring that all system activities are logged for audit purposes. The setup should include defining specific audit rules tailored to our operational requirements.

This task will involve installation of the auditd package, configuration of audit rules, and testing to verify that the system correctly logs the defined events. A step-by-step documentation of the process and any challenges encountered during the installation and configuration will be essential for future reference and troubleshooting.

Every log is important for security. What do we need ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.