Video coming soon…

🏪 Setup Open Source POS — Self-Hosted Point of Sale System

Deploy a complete, web-based point of sale system for retail and restaurant management with inventory, sales reports, and customer tracking.

⚠️ This script is provided for demo and testing purposes only. Not intended for production use.

📦 Resources & Setup Scripts

Grab the automated bash script from GitHub to follow along with the video.

Automated install — Open Source POS system running in one command.
View on GitHub

Quick Install:

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/pos/opensourcepos/opensourcepos-ubuntu.sh
chmod +x opensourcepos-ubuntu.sh
sudo bash opensourcepos-ubuntu.sh

Tutorial Steps

1 Download & Run the Installer

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

2 Access the POS Interface

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

3 Add Products & Categories

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.

4 Process Your First Sale

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.

Ports Used

PortPurpose
80Web UI
3306MySQL database (internal)

Overview

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.

Why Use It

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.

When You Need It

    Who Should Use It

      Real Use Cases

        Main Features

          How to Use After Installation

            Security Best Practices

              Ports and Firewall Notes

              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.

              Backup and Maintenance

                Common Mistakes

                  Troubleshooting

                    Alternatives

                    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.

                    When Not to Use It

                    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 Professional Help

                    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.

                      Contact Us

                      Frequently Asked Questions

                      Can I use a barcode scanner with OpenSourcePOS?

                      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.

                      Does OpenSourcePOS support thermal receipt printers?

                      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.

                      Can multiple cashiers use OpenSourcePOS simultaneously?

                      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.

                      Does OpenSourcePOS handle inventory?

                      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.

                      Can I run OpenSourcePOS on a tablet?

                      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.

                      Does OpenSourcePOS support discounts and promotions?

                      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.

                      Can I manage customer accounts?

                      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.

                      Is OpenSourcePOS suitable for restaurants?

                      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.