Getting Started

Top  Previous  Next

Once CirrusPrint is installed and started, the next step is to configure it to print or transfer files to one or more remote locations.  This involves several administration browser interface pages.

 

Configuration

CirrusPrint has many default settings that can be used when first installed, but some things require configuration.  Use the Configuration screen to change items, or you can edit the config.ini file directly.

 

Three important things to configure are:

 

SSL certificates, if you will be using them.  A default certificate is provided, but since it is a self-signed certificate, browser users will encounter warnings when accessing the server.
 
Public host names, which represent URL's that external users could use to connect to the server.  Often times the administrator may connect to the server using a local address, so when sending links out to external users, it is important to have at least one public URL that can be used.
 
Email settings, used both to send administrator notifications and also to send email for other purposes, such as when creating demo companies or sending a browser location link to a user.

 

Configure a Company

Use the Companies page under Site Options to create a company.  A CirrusPrint installation can support many companies, each with its own configuration and company-specific administration users.  Even though the nomenclature is "Companies", you can also use this feature to divide entities within a company, such as by office or department. All browser users within an entity have visibility to other users and devices in that entity.  In addition to standard company setup and maintenance, you can create temporary test companies for users to play with.  For any company, you then configure Locations/Users, Input Sources, and Output Devices.

 

Configure a Location or User

There are two types of remote locations: system and browser.  Both types of locations are configured to login to the server, using location or location@company, and a password.  Both types of locations connect to the same server port.

 

A system location will run the remote client software, designed to receive and process files and print jobs sent from the CirrusPrint server.  The client software can run on a user's desktop, or on a server as a service.  In each case, it can deliver documents to printers and file systems at the location where it runs.  A system location can support multiple remote devices.  The system client is written in Node.js, which is bundled with the Windows client, but must be available to the Linux client.  The Linux client setup script will attempt to install Node.js if not found, or you can use package management tools to install it before setting up the client.

 

A browser location runs an HTML5 application in the user's browser, such as Chrome, Edge, Internet Explorer, Safari, or Firefox.  This is an offline application, meaning it will run even when it can't connect to the server.  When it does connect, it monitors the server for documents to be delivered.  When a printed document is sent to a browser location, the server attempts to convert it to PDF format first.

 

To set up remote locations or browser users, use the Locations/Users menu option.

 

Once a system location has been configured, install  the client software on a system at that location, and configure it to connect to the CirrusPrint server, using the company ID, location ID and password.  As soon as that location connects successfully, it will upload a list of printers to the server, assisting in the next configuration step.  Browser locations have one type of device, called "Browser".

 

Configure Output Devices

Remote devices are where files or print jobs are delivered.  A remote device can be a printer, such as a Windows printer or a Linux spool queue, or it can be a file, where the file name can include parameters to ensure uniqueness or produce a logical naming convention.  It can also be a command on the remote system, where the file is passed to a command line for processing.

 

Remote devices are given an ID, a device type, and a device path or name.  When configuring a device, the list of printers provided by the remote location is presented, allowing simple selection of printer names when configuring printers.  The following types of devices are supported:

 

Printer - a printer name on the system where the remote system client runs.  This can be a Windows printer name, or a Linux CUPS spool destination.  On Linux, CirrusPrint delivers the job using "lp -dprinter -oraw".

 

File - a file is created on the remote system, based on a path and substitution parameters.
 
Command - A command line is run, typically with the substitution parameter {file} to use the file created at the remote location.  This type of device can easily print to a Unix or Linux spool queue.

 

Viewer - A file is created, typically in a temp or work directory, and the client opens the document when received.  This type of device is effective when location clients are installed on user desktop computers.  It is the only type of device available for browser client users.

 

Network Printer - A network name or address of a printer.   The default port is 9100, but you can add a :port suffix if needed, such as "192.168.1.99:9101".
 

Each remote location can have any number of devices configured.  One device, a file transfer device called "autosend", is automatically created (and not counted for licensing purposes).  To set up remote devices, use the Output Devices menu option.  First select a location, then edit or add devices for that location.

 

 

Configure Input Sources

A input source is a port, path, or email addresss that receives jobs destined for a remote device.

 

A port source is a TCP/IP port that the server listens on for print jobs. System spoolers and many applications can print to a network printer, and that is exactly how a port source operates.  When a print job arrives on a port, CirrusPrint stores and parses the job, then queues it for a specific remote location device (or more than one device if you configure it that way).  If a remote location is connected, it receives jobs immediately.  If not, the server keeps the job until the location connects and receives it.
 
A port can be any available number from 1024 to 64000. Typical ports are in the 9000-9999 range.  You can establish port ranges in the system or company configurations for auto-assignment if desired.  With auto-assignment, CirrusPrint will look for the next available port number within the specified range and apply that port to the source record.
 
When a source port is created on a Windows server, CirrusPrint will also create a system port named "cp20_portid", so that it is easy to create printers that target the CirrusPrint port.

 

A path source is a disk directory on the server where CirrusPrint runs.  It can read all files, or files selected with a wildcard, from that directory.  A path source is typically used to transfer files to one or more remote locations. When a new file appears in a directory, it is picked up, parsed, and queued for a specific remote location device.  If a remote location is connected, the file is delivered immediately.  If not, the server keeps the job until the location connects and receives it.  A companion .ini file can also be provided with the file, which can provide information used by the remote client to create a file name or pass details to a remote command line.
 
An email source is a dedicated email address that the CirrusPrint server manages via IMAP.  PDF files can be emailed to this address, along with specific To names or subject tags, to direct the PDF, or a print document converted from PDF, to a target device or user.

 

To set up local sources, use the Input Sources menu option.