Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

Note: WallacePOS is not longer actively maintained. If you would like to become a maintainer of this project please let me know.


An intuitive & modern web based POS system


WallacePOS uses the power of the modern web to provide an easy to use & extensible POS system.

It supports standard POS hardware including receipt printers, cashdraws and barcode scanners.

With a rich administration dashboard and reporting features, WallacePOS brings benefits to managers and staff alike.

Take your business into the cloud with WallacePOS!

To find out more about WallacePOS, head over to

If you find that WallacePOS is the perfect companion for your business, please donate to support further development.

Donate to WallacePOS

Server Prerequisites

WallacePOS requires:

  1. A Lamp server with PHP version>=5.4, PHP cURL & GD extensions and Apache version>=2.4.7 with modules rewrite, proxy_http and proxy_wstunnel.

    • You can enable the modules by typing the following in your terminal
        sudo a2enmod proxy_http proxy_wstunnel rewrite
        sudo apt-get install php5-curl php5-gd
        sudo service apache2 restart
    • The following virtual host snippet in your apache config, replace %*% with your values and modify to your needs.
        <VirtualHost *:443>
             DocumentRoot %/your_install_dir%
             ServerName %your.server.fqdn%
             ErrorLog ${APACHE_LOG_DIR}/error.log
             CustomLog ${APACHE_LOG_DIR}/access.log combined
             SSLEngine on
                 SSLCipherSuite !ADH:!DSS:!RC4:HIGH:+3DES:+RC4
                 SSLProtocol all -SSLv2 -SSLv3
                 SSLCertificateFile %certificate_location%
                 SSLCertificateKeyFile %key_location%
                 SSLCertificateChainFile %cert_chain_location%
             <Directory %/your_install_dir%>
                AllowOverride all
             # WSPROXY CONF
             ProxyRequests Off
             ProxyPreserveHost On
             <Proxy *>
                     Order deny,allow
                     Allow from all
             RewriteEngine On
             RewriteCond %{HTTP:Connection} Upgrade [NC]
             RewriteRule /(.*) ws://localhost:8080/$1 [P,L]
             ProxyPass        / http://localhost:8080/
             ProxyPassReverse / http://localhost:8080/
             <Location />
                     Order allow,deny
                     Allow from all

    Note: Using plain http is not recommended.

  2. Node.js installed along with the library

    For a Debian distro:

        sudo apt-get update
        sudo apt-get install nodejs && apt-get install npm
        cd %/your_install_dir%/api
        sudo npm install

Installation & Startup

  1. Clone the latest WallacePOS release to %your_install_dir% if you haven't done so already. The installation dir must be your Apache document root directory!

  2. Run composer install in your install directory to update PHP dependencies (you may need to install composer first).

  3. Visit /installer in your browser & follow the installation wizard.

  4. Login to the admin dashboard at /admin, from the menu go to Settings -> Utilities and make sure the feed server has been started successfully.

Deploying using dokku

To deploy WallacePOS on dokku:

  1. Install the dokku-apt plugin on your dokku host.

  2. Fork the WallacePOS to a PRIVATE repo (IMPORTANT), edit /library/wpos/.dbconfig.json and fill in your own values.


    Use my dokku mysql plugin to create and link the database automagically.

  3. Commit deploy in the usual manner.

  4. Setup persistent storage by running:

    dokku storage:mount %APP_NAME% /var/lib/dokku/data/storage/%APP_NAME%:/app/docs

    WARINING: Failure to do so will lead to data loss during subsequent upgrades.

  5. Access /installer/?install from the web browser to install the database schema & templates

  6. Login to the admin dashboard at /admin using credentials admin:admin & change the default passwords in Settings -> Staff & Admins!


WallacePOS uses the power of the modern web to provide an easy to use & extensible POS system.







No packages published

Contributors 4