Skip to content

Running the printi.me server

Fons van der Plas edited this page Feb 16, 2020 · 2 revisions

The central server (both web and API), is written in C# for Mono. The server is currently running on Raspbian 4.9.41-v7+, with mono 5.14.0.177.

While anyone can run the server, it should not be necessary for general use. (Since I will be running the server at printi.me) If you are interested in having your own printi mini, follow these instructions to make one, and use the public printi.me API!

Install required software

First add the official Mono repository, then:

sudo apt update
sudo apt install mono-devel ca-certificates-mono

You can then clone the git repository somewhere and build it:

cd /etc/
git clone https://github.com/fons-/printi
cd printi/PoloreceiptServer
msbuild

You can then run the server with the following commands (add these lines to /etc/rc.local to run the server at boot):

cd /etc/printi/PoloreceiptServer/PoloreceiptServer/bin/Debug
sudo PORT=80 mono PoloreceiptServer.exe &

URL

To add URL support:

sudo apt install chromium-browser chromium-chromedriver

and make sure that the chromedriver can be found by the executable.

Printing on the server

Any images sent to printi.me (instead of printi.me/somewhere-specific) are not processed and queued, but printed directly using CUPS, running on the server. So to add support for sending images to the server, a CUPS-ready printer must be connected directly to the machine running the server.

Install the printer using CUPS (as the system default printer), and check that you can print image files using the lp filename.jpg command. ImageMagick also needs to be installed (it's used to increase brightness and contrast before printing images).

That's it!

Clone this wiki locally