Skip to content
jbeltran-arens edited this page Aug 30, 2014 · 8 revisions

[Old installation instructions] (Installation-version-1.1.0-and-below)

Important Notes

The following steps have been known to work and should be followed from up to bottom. If you deviate from this guide, do it with caution and make sure you don't violate any assumptions ProxyPoS makes about its environment.

If you find a bug

If you find a bug/error in this guide please submit an issue or pull request following the contribution guide.


The ProxyPoS installation consists of setting up the following components:

  1. Dependencies
  2. Install ProxyPoS
  3. Hardware Setup
  4. Run ProxyPoS

1. Installing Dependencies

These instructions are proved for Linux Mint, instructions for other flavors of Debian-based distros should be similar.

You will first need to install the following packages:

  1. python version >= 2.6
  2. python imaging & setuptools
  3. Git for install some packages needed
  4. For support USB printers, at least one of the supported libraries (libusb 1.0, libusb 0.1 or OpenUSB)

For example, the command:

$ sudo apt-get install python python-imaging python-setuptools libusb-dev git

should install all these packages on most Debian-based systems with access to the proper package repositories.

1. Base libraries for ESC/PoS printers

If you are going to use the software with an USB printer, you must install pyusb Checkout the latest code from github Build and install it:

cd /tmp
git clone https://github.com/walac/pyusb.git
cd pyusb
python setup.py build
sudo python setup.py install

2. python-escpos

This is the python module to communicate with ESC/PoS printers Checkout the latest code from github Build and install it:

cd /tmp
git clone https://github.com/agb80/python-escpos.git
cd python-escpos
python setup.py build
sudo python setup.py install

2. Install ProxyPoS

Starting on version 1.2.0 ProxyPoS comes with a setup file for auto install using setuptools the intention is to make more simpler to install and use for not Unix experience users and prepare ProxyPoS to be Windows & Mac (maybe) compatible.

Build and install ProxyPoS:

cd /tmp
git clone https://github.com/Fedrojesa/ProxyPoS.git proxypos
cd proxypos
python setup.py build
sudo python setup.py install

Copy config file

Starting version 1.2.0 ProxyPoS will look for the configuration file on your user home directory so you are going to need to create a folder for host the ProxyPoS files and copy the default ProxyPos config files onto your home directory:

mkdir ~/.proxypos/config -p
cp config/proxypos.yaml.example ~/.proxypos/config/proxypos.yaml

Log files

Standard location for log files is /var/log/proxypos so we are going to need to create folder and set permissions to allow write files on it. You can also change the location on the proxypos.yaml configuration to place where is most convenient for you.

sudo mkdir /var/log/proxypos
sudo chmod a+w /var/log/proxypos

3. Hardware Setup

3.1 USB Printers

  1. Get the Product ID and Vendor ID from the lsusb command

    lsusb Bus 002 Device 001: ID 1a2b:1a2b Device name

  2. Write the values on the proxypos.yaml file

    vi ~/.proxypos/config/proxypos.yaml

    Use host: 0.0.0.0 for listen on all interfaces including external in ~/.proxypos/config/proxypos.yaml

    host: 0.0.0.0 port: 8069

  3. Create a udev rule to let users belonging to dialout group use the printer. You can create the file /etc/udev/rules.d/99-escpos.rules and add the following:

    SUBSYSTEM=="usb", GROUP="dialout", MODE="0664" SUBSYSTEMS=="usb", GROUP="dialout", MODE="0664"

  4. Restart udev

    sudo udevadm trigger sudo service udev restart

3.2 Serial Printers

  1. Must of the default values set by the DIP switches for the serial printers, have been set as default on the serial printer class, so the only thing you need to know is which serial port the printer is hooked up. devfile is an alphanumeric device file name under /dev filesystem, default value is /dev/ttyS0

  2. Write the correct values on the proxypos.yaml file

    vi ~/.proxypos/config/proxypos.yaml

3.3 Network Printers

  1. You only need the IP of your printer, either because it is getting its IP by DHCP or you set it manually. host is an alphanumeric host name, could be either DNS host name or IP address.

  2. Write the correct values on the proxypos.yaml file

    vi ~/.proxypos/config/proxypos.yaml

4. Run ProxyPoS

From now on you can just open a terminal and type proxypos-server to run ProxyPoS. Autostart ProxyPoS when turn it on you machine will depend on the exact configuration from your installation.

Clone this wiki locally