Deploy a complete, web-based point of sale system for retail and restaurant management with inventory, sales reports, and customer tracking.
Grab the automated bash script from GitHub to follow along with the video.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/pos/opensourcepos/opensourcepos-ubuntu.sh
chmod +x opensourcepos-ubuntu.sh
sudo bash opensourcepos-ubuntu.sh
The script installs Docker, pulls the Open Source POS and MySQL images, and starts both containers. The POS interface will be available on port 80 with a pre-configured MySQL database backend.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/pos/opensourcepos/opensourcepos-ubuntu.sh
chmod +x opensourcepos-ubuntu.sh
sudo bash opensourcepos-ubuntu.sh
Open your browser and navigate to the POS interface. Use the default credentials to log in — make sure to change the password immediately after your first login.
http://<your-server-ip>:80
# Default credentials:
# Username: admin
# Password: pointofsale
Navigate to Items → Items to create your product catalog. Add product names, prices, cost prices, and barcode numbers. Organize products into categories (e.g., Electronics, Food, Clothing) for faster checkout. You can also import products in bulk using the CSV import feature under Items → Import.
Go to the Sales section to open the cash register interface. Search for products by name or scan a barcode, add them to the cart, then select the payment method (Cash, Credit Card, or Check). Complete the transaction and print the receipt. The sale is automatically recorded in the reports module.
| Port | Purpose |
|---|---|
| 80 | Web UI |
| 3306 | MySQL database (internal) |
OpenSourcePOS (OSPOS) is a free, web-based point of sale system built with PHP CodeIgniter. It supports inventory management, customer accounts, employee management, receipts, and sales reporting. It runs in any web browser, making it accessible from any device including tablets used as POS terminals.
OSPOS gives small retailers and food service businesses a full POS system without monthly SaaS fees from Square or Shopify POS. Because it is self-hosted, your sales data stays on-premises and you control hardware integrations, printer configurations, and data exports.
OpenSourcePOS runs on port 80. For a local-only deployment, you can access it directly over your LAN without a reverse proxy. For remote access or tablet terminals over WiFi, set up HTTPS. The MySQL database must not be exposed to the internet.
Alternatives include Square POS (cloud, hardware provided), Shopify POS (cloud, monthly fee), WooCommerce POS (WordPress-based), and uniCenta (Java-based, self-hosted). Choose OSPOS for a fully free, browser-based self-hosted POS with no ongoing costs.
Avoid OSPOS if you need advanced features like multi-location inventory, integrated e-commerce, or sophisticated loyalty programs — commercial POS systems handle these better. Also avoid if you have no technical person to manage the server.
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.
Yes. Any USB or Bluetooth barcode scanner that types keystrokes works with OSPOS — no special drivers needed. The scanner acts like a keyboard, entering the barcode number into the search field. Press Enter (usually sent automatically by the scanner) and the product appears in the cart.
Yes. OSPOS can print receipts to thermal printers connected to the server or the POS terminal. Configure the printer in the admin settings. For network thermal printers, ensure the printer IP and port are accessible from the OSPOS server. ESC/POS compatible printers work best.
Yes. Create individual employee accounts with cashier permissions. Each employee logs in separately, and sales are attributed to their account. The admin can run reports filtered by employee to see individual sales performance.
Yes. Add products with quantities, and OSPOS decrements stock with each sale. Set low-stock alerts to receive warnings when inventory falls below a threshold. Generate inventory valuation reports and perform manual stock adjustments for returns, shrinkage, or new stock receipt.
Yes. Since OSPOS is web-based, it works in any modern browser including iPad and Android tablet browsers. Pair a Bluetooth barcode scanner and a receipt printer, set the tablet to open OSPOS in full-screen browser mode, and you have a tablet POS terminal.
Yes. Apply discounts at the item level or cart level during a sale. Discounts can be a percentage or a fixed amount. You can also apply coupon codes if configured. For regular sales, create products with sale prices set in the product catalog.
Yes. Create customer accounts with contact details and account numbers. When processing a sale, search for and select the customer to associate the sale with their account. View customer purchase history, run customer-specific reports, and manage account credit or loyalty points.
It can handle basic food service scenarios — item-based sales with categories, multiple employees, and receipt printing. However, it lacks dedicated restaurant features like table management, kitchen ticket printing, split bills, and menu modifiers. For dedicated restaurant POS, consider open-source alternatives designed specifically for food service.