# OctoPrint — Web Interface for 3D Printer Control and Monitoring > OctoPrint is a self-hosted web application for controlling and monitoring 3D printers remotely. It runs on a Raspberry Pi or any Linux machine and provides a browser-based dashboard for managing prints, webcam feeds, and G-code files. ## Install Save in your project root: # OctoPrint — Web Interface for 3D Printer Control and Monitoring ## Quick Use ```bash # On a Raspberry Pi, download OctoPi (pre-built Raspberry Pi OS image) # Or install manually on any Linux system: pip install octoprint octoprint serve # Open http://your-pi:5000 in a browser ``` ## Introduction OctoPrint gives you full control over your 3D printer from any browser on your network. Instead of shuffling SD cards, you upload G-code files through the web UI, start prints remotely, and monitor progress with a live webcam feed and real-time temperature graphs. ## What OctoPrint Does - Uploads, manages, and slices G-code files through a web interface - Streams live webcam video to monitor prints remotely - Displays real-time temperature graphs for hotend and heated bed - Sends G-code commands directly to the printer from the browser - Creates timelapse videos of completed prints automatically ## Architecture Overview OctoPrint is a Python application built on Flask and Tornado. It communicates with the printer over a serial USB connection using the G-code protocol. The web frontend uses JavaScript and communicates with the backend via a REST API and WebSocket for real-time updates. A plugin system allows extending nearly every aspect of the application, from adding new UI panels to integrating with notification services and slicers. ## Self-Hosting & Configuration - Flash the OctoPi image to an SD card for a ready-to-go Raspberry Pi setup - Install via pip on any Linux system with Python 3 and connect the printer via USB - Configure printer profiles for bed size, nozzle diameter, and communication settings - Set up a webcam for live monitoring and timelapse capture - Secure remote access with the built-in access control system or place behind a VPN ## Key Features - Plugin manager with a repository of community-developed extensions - Automatic timelapse recording with configurable capture intervals - Printer safety features including thermal runaway detection and emergency stop - Custom G-code scripts for start, end, pause, and cancel events - REST API for integrating with home automation systems and mobile apps ## Comparison with Similar Tools - **Mainsail / Fluidd** — web interfaces for Klipper firmware; OctoPrint connects to Marlin-based printers and has a larger plugin ecosystem - **Repetier-Server** — commercial remote print server; OctoPrint is fully open source with community-driven development - **AstroPrint** — cloud-based print management; OctoPrint runs entirely on your local network - **Duet Web Control** — built into Duet hardware; OctoPrint works with any printer that accepts G-code over USB - **Pronterface** — desktop-only print host; OctoPrint adds web access, webcam support, and plugins ## FAQ **Q: Which Raspberry Pi models are recommended?** A: A Raspberry Pi 3B+ or newer is recommended. The Pi 4 with 2 GB or more RAM provides the best experience, especially when running a webcam and plugins. **Q: Can I access OctoPrint outside my local network?** A: OctoPrint should not be exposed directly to the internet. Use a VPN, reverse proxy with authentication, or a plugin that provides secure remote access. **Q: Does OctoPrint support multiple printers?** A: A single OctoPrint instance manages one printer. For multiple printers, run separate instances on different ports or use container-based setups. **Q: Can I use it without a Raspberry Pi?** A: Yes. OctoPrint runs on any Linux system with Python 3 and a USB connection to the printer. Some users run it in Docker or on old laptops. ## Sources - https://github.com/OctoPrint/OctoPrint - https://octoprint.org/ --- Source: https://tokrepo.com/en/workflows/ec60eb45-4125-11f1-9bc6-00163e2b0d79 Author: AI Open Source