{"id":18285536,"url":"https://github.com/ludiazv/octocitrico","last_synced_at":"2025-10-18T04:09:32.156Z","repository":{"id":50763811,"uuid":"271391339","full_name":"ludiazv/octocitrico","owner":"ludiazv","description":"OctoPrint for other fruits","archived":false,"fork":false,"pushed_at":"2023-10-20T16:45:44.000Z","size":195,"stargazers_count":149,"open_issues_count":31,"forks_count":18,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-03-21T00:33:04.925Z","etag":null,"topics":["armbian","bananapi","octoprint","orangepi","orangepi-zero","rock64"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ludiazv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://www.buymeacoffee.com/boros"]}},"created_at":"2020-06-10T21:40:14.000Z","updated_at":"2024-09-22T10:37:57.000Z","dependencies_parsed_at":"2024-11-05T13:17:37.592Z","dependency_job_id":"94c3bb51-72e1-4c2c-9062-1e7e0ae424be","html_url":"https://github.com/ludiazv/octocitrico","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludiazv%2Foctocitrico","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludiazv%2Foctocitrico/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludiazv%2Foctocitrico/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludiazv%2Foctocitrico/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ludiazv","download_url":"https://codeload.github.com/ludiazv/octocitrico/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305879,"owners_count":20917201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["armbian","bananapi","octoprint","orangepi","orangepi-zero","rock64"],"created_at":"2024-11-05T13:17:00.304Z","updated_at":"2025-10-18T04:09:27.105Z","avatar_url":"https://github.com/ludiazv.png","language":"Shell","funding_links":["https://www.buymeacoffee.com/boros"],"categories":[],"sub_categories":[],"readme":"# OctoPrint for other fruits\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"media/octocitrico.png\"\u003e\n\u003c/p\u003e\n\nA custom distribution based on [Armbian](https://www.armbian.com) for running [OctoPrint](https://octoprint.org) for other Pi-like single board computers.  \n\nCredits of this project are for the awesome Armbian team and the outstanding work of @guysoft creating the custom distribution [OctoPi](http://github.com/guysoft/OctoPi) . This port reuse most of OctoPi's code adapting it to the armbian build process and board specs and provide some helper sripts to  simplify installation and maintance of the distribution.\n\n**If you like this project please consider [contributing](#Contributing).**\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.buymeacoffee.com/boros\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-white.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" \u003e\u003c/a\u003e\n\u003c/p\u003e\n\nor\n\nxrm:\n\n889Eewy4ZmKanvWEbVAQKSH9imihLN6iXBz2kLR5Eb1mP2nv6fnPCevKk5qqmGGFsw7ao6HkmDyom7H3hk1vCFMLUoFWkaF\n\n## Features\n\nCore (installed and enabled):\n* Optimized armbian Debian bullseye.\n* Latest stable octoprint version.\n* Selection of top octoprint plugins.\n* HAProxy with self signed keys for ssl access.\n* Avahi service: Bonjur addvertisement (this enable to acces with host-name.local via ssh or http/s)\n* SSH console access.\n* USB OTG console access (if available in the board)\n* Enabled i2c-dev, spidev, uart (if available on the board)\n\n3D printer related software:\n* Quick install of Klipper. \n* PlatformIo core for building 3D printer firmware.\n* Marlin 1.1.x \u0026 Marlin 2.x.x firmware (bugfix versions)  \n\nExtras (installed but disabled):\n* MPGStreamer USB camera support (experimental)\n* SMB shares to remote edit configuration files from a remote PC.\n\n\n## Usage\n\nPrebuilt images:\n\n1. Download \u0026 extract disk image (*.xz) from *releases*.\n2. Burn the image in a SD card (\u003e8GB recommended) using *usbimager*,*Etcher*, *Win32DiskImager*, *dd* or the image burner of your choice.\n3. Plug the SD card on the board and apply power.\n\nFirst boot tipically require a few minutes. Once booted octoprint will be available to use. If your computer is able to resolve mDns (macos or linux avahi) the name of the board is preconfigured as \n\n``citrico-\u003cboard\u003e.local``\n\nAfterboot you can access to octroprint server:\n- Access to octoprint via https\n- ssh session\n- Console on Usb OTG (if the board supports it)\n- Console on board's serial interface with a USB-TTL \n- Conecting a keyboard and screen (if the board supports it)\n\nArmbian does not activate WiFi by default. Any initial network access requires ethernet connection if available on the board or configuring wifi access using a keyboard and monitor.\n\n## Default users and passwords:\n\n**octoCitrico** create a two users:\n\n- ```root``` with default password ```octoroot``` \n- ```pi``` with default password ```pi```. This user has ```sudo``` rights.\n\nIt's recommended but not mandatory to change user passwords and disable root access via SSH.\n\n## Camera configuration\n\nAs derivative distribution of OctoPi **Octocitrico** support camera operation out of the box using the same configuration files of OctPi. Any USB camera/webcams supported by debian in your single board computers and by [MJPG-Streamer](https://github.com/jacksonliam/mjpg-streamer) would work. Other cameras might require addtional software installation or configuration steps.\n\nRefer to OctoPi [documentation](https://community.octoprint.org/knowledge-explorer?topic=21149) and online tutorials on how to tune your camera. You can edit camera options using ```scripts/citrico-config``` helper tool.\n\nFrom version 21.02 experimental support for HLS streaming is included for testing.\n\n\n**Required service activation for camera usage:**\n\nBy default **webcam streaming service is disabled** , you need to enable it before is available for octoprint.It can be enabled by running ``sudo scripts/citrico-config`` with the ``pi`` using the following table as reference:\n\n| Service        | MPGSTREAMER |  HLS  Streaming |\n| -------------- | ----------- |  -------------- |\n| haproxy        | enabled     |  enabled        |\n| streamer_select| enabled     |  enabled        |\n| nginx          | disbled     |  enabled        |\n| webcamd        | enabled     |  disabled       |\n| ffmpeg_hls     | disabled    |  enabled        |\n\n\nEdit ```/boot/octopi.txt``` the variable ```camera_streamer=mjpeg``` for mjpg-streamer and ```camera_streamer=hls``` for HLS mode.\n\n__Note: hls mode is still experimental and may require additional manual tweaks in the the configuration. Please refer to octoPi configuration for more details.__\n\n\n## Customizing\nFor configuring WiFi or customize your instance you need to log into you octocitrico server and configure as you want as in any linux computer. Armbian and octocitrico provides helper scripts to make easy the configuration of the box. \n\nLogin with the ```pi``` user:\n\n- ```armbian-config```: Fullfleged configuraion tool.\n- ```nmtui```: Network configuration.\n- ```scripts/citrico-config```: Enable or disable **octocitrico** default services and edit **octopi** camera configuration.\n- ```scripts/install-klipper```: Install Klipper 3D printer software.\n\nFor accessing files via SMB(windows shares) you need to enable Samba service (preconfigured) using ```scripts/citrico-config```. A default share ```pi-files``` will be avaible using ```pi``` user.\n\n## Adding boards\nAdding boards to the project requires few steps:\n1. Create a folder with the name of the board inside ```boards``` directory.\n2. Inside the __new board__ directory create the a new file ```config.conf``` using as template the existing board.\n3. Optionaly create ```extra.sh``` script to adjust specific board configuration.  \n\n**PRs are wellcome with new boards support.**\n\n## Building\n\nFrom armbian v23.08 Vagrant build is not avaible. To build this repository ``ddocker + docker buildx``` is required.\n\n\n```bash\n$ git clone \u003cthis repository\u003e\n$ cd octocitrico\n$ ./optocitrico.sh assets\n$ ./optocitrico.sh build \u003cboard_name\u003e\n```\n\nBuild process is slow and verbose it could take up to several hours depending on your hardware. Be patient.  \n\n## Cleaning\nBuilding process could use a lot of space of your disk. To free this space after building you can execute ```./optocitrico.sh clean```. This will clean all files used for the build including virtual machines and vagrant boxes.\n\n## Tested boards\n\n- Orange Pi Zero 256 Mb (not recommended due to low memory)\n- Orange Pi Zero 512 Mb\n- Orange Pi PC\n- Orange Pi PC+\n- Rock64\n- Banana PI M2 Zero\n- Orange Pi Zero 2 (no wifi support)\n- Orange Pi 3 LTS\n\nWIP:\n\n- Orange Pi One\n- Orange Pi Lite\n- Orange Pi One Plus\n\n\n## Contributing\nIf you like this project and you want support it please consider:\n\n- Send PRs are to fix bugs and add new boards.\n- Test bords and provide feeback.\n- Make a donation to Armbian, Octoprint \u0026 OctoPi projects.\n- Make a donation to this project [here](https://www.buymeacoffee.com/boros): This will enable to buy boards for testing and to pay cloud infrastructure to improve the compilation process.\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://www.buymeacoffee.com/boros\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-white.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" \u003e\u003c/a\u003e\n\u003c/p\u003e\n\nor\n\nxrm:\n889Eewy4ZmKanvWEbVAQKSH9imihLN6iXBz2kLR5Eb1mP2nv6fnPCevKk5qqmGGFsw7ao6HkmDyom7H3hk1vCFMLUoFWkaF\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fludiazv%2Foctocitrico","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fludiazv%2Foctocitrico","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fludiazv%2Foctocitrico/lists"}