'\" t
.\"     Title: fwcontrol
.\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\"      Date: 01/29/2026
.\"    Manual: \ \&
.\"    Source: \ \&
.\"  Language: English
.\"
.TH "FWCONTROL" "1" "01/29/2026" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
fwcontrol \- controls and configures components of a FileWave system\&.
.SH "SYNOPSIS"
.sp
\fB(sudo) fwcontrol\fR \fICOMPONENT\fR \fICOMMAND\fR
.SH "DESCRIPTION"
.sp
The fwcontrol(1) command is used to manage FileWave \fICOMPONENTS\fR\&. If invoked without arguments or with a wrong syntax, a brief help message is displayed\&.
.SH "COMPONENT"
.PP
\fBserver\fR \fISERVER_COMMAND\fR [\fIOPTIONS\fR]
.RS 4
Controls fwxserver and MDM services\&. Unless your installation is configured as a split installation, the \(oqstart\*(Aq,
\fIstop\fR, and
\fIrestart\fR
commands control both fwxserver and MDM on the current host\&.
\fISERVER_COMMAND\fR
is one of
\fIstart\fR,
\fIstop\fR,
\fIrestart\fR,
\fIdbcompact\fR,
\fIrestore\fR,
\fIresetinventory\fR,
\fIgenerateSelfSignedCert\fR\&. See
\fBSERVER_COMMANDS\fR\&.
.RE
.PP
\fBmdm\fR \fIMDM_COMMAND\fR [\fIOPTIONS\fR]
.RS 4
Controls the MDM service\&. The MDM service consists of an Apache instance, Postgres database instance and the scheduler service\&.
\fIMDM_COMMAND\fR
is one of
\fIadduser\fR,
\fIadddeuser\fR,
\fIadddepuser\fR,
\fIaddadminuser\fR,
\fIinitdb\fR\&. See
\fBMDM_COMMANDS\fR\&.
.RE
.PP
\fBbooster\fR \fIBOOSTER_COMMAND\fR
.RS 4
Controls and reports information for the booster component\&.
\fIBOOSTER_COMMAND\fR
is one of
\fIstart\fR,
\fIstop\fR,
\fIrestart\fR,
\fIversion\fR,
\fIrunning\fR
or
\fIconnectedClients\fR\&. See
\fBBOOSTER_COMMANDS\fR\&.
.RE
.PP
\fBdashboard\fR \fIDASHBOARD_COMMAND\fR
.RS 4
Controls the Dashboard service\&.
\fIDASHBOARD_COMMAND\fR
is one of
\fIstart\fR,
\fIstop\fR
or
\fIrestart\fR
see
\fBDASHBOARD_COMMANDS\fR
.RE
.PP
\fBapache\fR \fIAPACHE_COMMAND\fR
.RS 4
Controls the apache component\&.
\fIAPACHE_COMMAND\fR
is one of
\fIstart\fR,
\fIstop\fR
or
\fIrestart\fR\&. See
* APACHE_COMMAND*\&.
.RE
.PP
\fBpostgres\fR \fIPOSTGRES_COMMAND\fR
.RS 4
Controls the postgres component\&.
\fIPOSTGRES_COMMAND\fR
is one of
\fIstart\fR,
\fIstop\fR
or
\fIrestart\fR\&. See
\fBPOSTGRES_COMMANDS\fR\&.
.RE
.PP
\fBscheduler\fR \fISCHEDULER_COMMAND\fR
.RS 4
Controls the scheduler component\&.
\fISCHEDULER_COMMAND\fR
is one of
\fIstart\fR,
\fIstop\fR
or
\fIrestart\fR\&. See
* SCHEDULER_COMMAND*\&.
.RE
.PP
\fBclient\fR \fICLIENT_COMMAND\fR
.RS 4
Controls and reports information for the client component\&.
\fICLIENT_COMMAND\fR
is one of
\fIstart\fR,
\fIstop\fR,
\fIrestart\fR,
\fIversion\fR
or
\fIstatus\fR\&. See
\fBCLIENT_COMMANDS\fR\&.
.RE
.PP
\fBfwgui\fR \fIKIOSK_COMMAND\fR
.RS 4
Controls the kiosk component\&.
\fIKIOSK_COMMAND\fR
is either
\fIrestart\fR
or
\fIshowKiosk\fR\&. See
\fBKIOSK_COMMANDS\fR\&.
.RE
.SH "SERVER_COMMANDS"
.sp
.if n \{\
.RS 4
.\}
.nf
start
stop
restart
dbcompact
restore VERSION
resetinventory
generateSelfSignedCert \-\-create \-\-cn=fqdn [\-\-country COUNTRY] [\-\-state STATE] [\-\-locality LOCALITY] [\-\-organization ORGANIZATION] [\-\-ou ORGANIZATIONAL_UNIT] [\-\-email EMAIL] [\-\-ignore_name_mismatch]
generateSelfSignedCert \-\-show\-pending
generateSelfSignedCert \-\-install
.fi
.if n \{\
.RE
.\}
.PP
\fBstart\fR
.RS 4
Starts fwxserver and MDM services (unless configured for split installation setup)\&.
.RE
.PP
\fBstop\fR
.RS 4
Stops fwxserver and MDM services (unless configured for split installation setup)\&.
.RE
.PP
\fBrestart\fR
.RS 4
Restarts fwxserver and MDM services (unless configured for split installation setup)\&.
.RE
.PP
\fBdbcompact\fR
.RS 4
Executes Postgres vacuumdb command in order to clean the database and generate internal database statistics that optimize future queries\&.
.RE
.PP
\fBrestore\fR \fIVERSION\fR
.RS 4
Instructs
\fIfwxserver\fR
to restore the model number specified by
\fIVERSION\fR\&.
.RE
.PP
\fBresetinventory\fR
.RS 4
Instructs
\fIfwxserver\fR
to reset the inventory flag for all clients \- which causes the clients to resend all their inventory data\&.
.RE
.PP
\fBgenerateSelfSignedCert\fR \-\-create \-\-cn=fqdn [\-\-country COUNTRY] [\-\-state STATE] [\-\-locality LOCALITY] [\-\-organization ORGANIZATION] [\-\-ou ORGANIZATIONAL_UNIT] [\-\-email EMAIL] [\-\-ignore_name_mismatch]
.RS 4
Generates a self\-signed certificate for the server and does not install it yet\&.
\fIcn\fR
defines the certificate common name (usually host FQDN)\&. You can also specify the following certificate attributes: country, state, locality, organization, ou (Organizational Unit), email\&.
\fIcn\fR
must match host name as defined in FileWave preferences (use \-\-ignore_name_mismatch to ignore mismatch)\&.
.RE
.PP
\fBgenerateSelfSignedCert\fR \-\-show\-pending
.RS 4
Show details (common name and serial number) of previously generated self\-signed certificate on the server\&.
.RE
.PP
\fBgenerateSelfSignedCert\fR \-\-install
.RS 4
Installs the previously generated self\-signed certificate on the server\&. Warning! Before install it, you need make sure that the new certificate is deployed to the trust store of clients (version 13\&.0+) and boosters (version 13\&.1+), otherwise these clients and boosters will no longer be able to connect\&.
.RE
.SH "MDM_COMMANDS"
.sp
.if n \{\
.RS 4
.\}
.nf
adduser USERNAME
adddeuser USERNAME
adddepuser USERNAME
addadminuser
initdb [PATH_TO_POSTGRES_BINARIES]
.fi
.if n \{\
.RE
.\}
.PP
\fBadduser\fR \fIUSERNAME\fR
.RS 4
Adds
\fIUSERNAME\fR
credentials to the Apache authentication database, this is required in order to enroll a client into the MDM\&.
.RE
.PP
\fBadddeuser\fR \fIUSERNAME\fR
.RS 4
Adds
\fIUSERNAME\fR
credentials to the Apache authentication database, this is required in order to log into a DEP device\&.
.RE
.PP
\fBadddepuser\fR \fIUSERNAME\fR
.RS 4
Synonym for
\fBadddeuser\fR\&.
.RE
.PP
\fBaddadminuser\fR
.RS 4
Creates a Django super user\&.
.RE
.PP
\fBinitdb\fR [\fIPATH_TO_POSTGRES_BINARIES\fR=/usr/local/filewave/postgres/bin]
.RS 4
If the directory
\fI/usr/local/filewave/fwxserver/DB/pg_data\fR
does not exist, it creates an empty database and initializes it\&. WARNING: This command will overwrite any existing installation\&.
.RE
.SH "BOOSTER_COMMANDS"
.sp
.if n \{\
.RS 4
.\}
.nf
start
stop
restart
version
running
connectedClients
.fi
.if n \{\
.RE
.\}
.PP
\fBstart\fR
.RS 4
Starts the booster\&.
.RE
.PP
\fBstop\fR
.RS 4
Stops the booster\&.
.RE
.PP
\fBrestart\fR
.RS 4
Restarts the booster\&.
.RE
.PP
\fBversion\fR
.RS 4
Reports the version of the booster\&.
.RE
.PP
\fBrunning\fR
.RS 4
Reports whether the booster component is running or not\&.
.RE
.PP
\fBconnectedclients\fR
.RS 4
Prints list of clients connected to the booster\&.
.RE
.SH "APACHE_COMMANDS"
.sp
.if n \{\
.RS 4
.\}
.nf
start
stop
restart
.fi
.if n \{\
.RE
.\}
.PP
\fBstart\fR
.RS 4
Starts the Apache component\&.
.RE
.PP
\fBstop\fR
.RS 4
Stops the Apache component\&.
.RE
.PP
\fBrestart\fR
.RS 4
Restarts the Apache component\&.
.RE
.SH "POSTGRES_COMMANDS"
.sp
.if n \{\
.RS 4
.\}
.nf
start
stop
restart
.fi
.if n \{\
.RE
.\}
.PP
\fBstart\fR
.RS 4
Starts the Postgres component\&.
.RE
.PP
\fBstop\fR
.RS 4
Stops the Postgres component\&.
.RE
.PP
\fBrestart\fR
.RS 4
Restarts the Postgres component\&.
.RE
.SH "SCHEDULER_COMMANDS"
.sp
.if n \{\
.RS 4
.\}
.nf
start
stop
restart
.fi
.if n \{\
.RE
.\}
.PP
\fBstart\fR
.RS 4
Starts the Scheduler component\&.
.RE
.PP
\fBstop\fR
.RS 4
Stops the Scheduler component\&.
.RE
.PP
\fBrestart\fR
.RS 4
Restarts the Scheduler component\&.
.RE
.SH "CLIENT_COMMANDS"
.sp
.if n \{\
.RS 4
.\}
.nf
start
stop
restart
version
status
.fi
.if n \{\
.RE
.\}
.PP
\fBstart\fR
.RS 4
Starts the client component\&.
.RE
.PP
\fBstop\fR
.RS 4
Stops the client component\&.
.RE
.PP
\fBrestart\fR
.RS 4
Restarts the client component\&.
.RE
.PP
\fBversion\fR
.RS 4
Prints the version of the client component\&.
.RE
.PP
\fBstatus\fR
.RS 4
Prints the status of the client component\&.
.RE
.SH "KIOSK_COMMANDS"
.sp
.if n \{\
.RS 4
.\}
.nf
restart
showKiosk
.fi
.if n \{\
.RE
.\}
.PP
\fBrestart\fR
.RS 4
Restarts the kiosk component\&.
.RE
.PP
\fBshowKiosk\fR
.RS 4
If the kiosk component is loaded, ensures it is visible\&.
.RE
.SH "DASHBOARD_COMMANDS"
.sp
.if n \{\
.RS 4
.\}
.nf
start
stop
restart
.fi
.if n \{\
.RE
.\}
.PP
\fBstart\fR
.RS 4
Starts Dashboard\&. That includes Prometheus, Alertmanager, node_exporter, postgres_exporter, apache_exporter, redis_exporter, mtail, nats_exporter and Grafana\&.
.RE
.PP
\fBstop\fR
.RS 4
Stops all Dashboard components\&.
.RE
.PP
\fBrestart\fR
.RS 4
A stop, followed by a restart\&.
.RE
.SH "EXAMPLES"
.PP
\fBfwcontrol server start\fR
.RS 4
Starts the FileWave services on this machine\&. Depending on the configuration it will start one or the two of the following component groups: Group MDM: (Postgres, Apache, scheduler) Group fwxserver: (fwxserver \-s, fwxserver \-a, fwldap)
.RE
.SH "EXIT STATUS"
.PP
\fB0\fR
.RS 4
Success\&.
.RE
.PP
\fBnon 0\fR
.RS 4
Failure\&.
.RE
.SH "BUGS"
.sp
Please report bugs to support@filewave\&.com
.SH "RESOURCES"
.sp
Main web site: http://www\&.filewave\&.com/
