This will build a container for Freescout - An open source Helpscout / Zendesk alternative.
-
Automatically installs and sets up installation upon first start
-
This Container uses a customized Alpine base which includes s6 overlay enabled for PID 1 Init capabilities, zabbix-agent for individual container monitoring, Cron also installed along with other tools (bash,curl, less, logrotate, nano, vim) for easier management. It also supports sending to external SMTP servers..
This image assumes that you are using a reverse proxy such as jwilder/nginx-proxy and optionally the Let's Encrypt Proxy Companion @ https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion in order to serve your pages. However, it will run just fine on it's own if you map appropriate ports. See the examples folder for a docker-compose.yml that does not rely on a reverse proxy.
You will also need an external MariaDB container
Automated builds of the image are available on Docker Hub and is the recommended method of installation.
docker pull tiredofit/freescout
-
The quickest way to get started is using docker-compose. See the examples folder for a working docker-compose.yml that can be modified for development or production use.
-
Set various environment variables to understand the capabilities of this image.
-
Map persistent storage for access to configuration and data files for backup.
-
Make networking ports available for public access if necessary
*The first boot can take from 2 minutes - 5 minutes depending on your CPU to setup the proper schemas.
Login to the web server and enter in your admin email address, admin password and start configuring the system!
The following directories are used for configuration and can be mapped for persistent storage.
Directory | Description |
---|---|
/www/logs |
Nginx and PHP Log files |
/assets/custom |
(Optional) Copy source code over existing source code in /www/html upon container start. Use exact file/folder structure |
/assets/custom-scripts |
(Optional) If you want to execute custom scripting, place scripts here with extension .sh |
/assets/modules |
(Optional) If you want to add additional modules outside of the source tree, add them here |
/www/html |
(Optional) If you want to expose the Freescout sourcecode and enable Self Updating, expose this volume |
*OR | |
/data |
Hold onto your persistent sessions and cache between container restarts |
Along with the Environment Variables from the Base image, and Web Image, and PHP Image below is the complete list of available options that can be used to customize your installation.
Parameter | Description |
---|---|
ADMIN_EMAIL |
Administrator Email Address - Needed for logging in |
ADMIN_FIRST_NAME |
Admin user First Name - Default Admin |
ADMIN_LAST_NAME |
Admin user First Name - Default User |
ADMIN_PASS |
Administrator Password - Needed for Logging in |
APPLICATION_NAME |
Change default application name - Default Freescout |
DB_HOST |
Host or container name of MariaDB Server e.g. freescout-db |
DB_PORT |
MariaDB Port - Default 3306 |
DB_NAME |
MariaDB Database name e.g. freescout |
DB_USER |
MariaDB Username for above Database e.g. freescout |
DB_PASS |
MariaDB Password for above Database e.g. password |
DISPLAY_ERRORS |
Display Errors on Website - Default FALSE |
ENABLE_AUTO_UPDATE |
If coming from an earlier version of image, automatically update it to latest Freescout release - Default TRUE |
ENABLE_SSL_PROXY |
If using SSL reverse proxy force application to return https URLs TRUE or FALSE |
SITE_URL |
The url your site listens on example https://freescout.example.com |
TIMEZONE |
Timezone - Use Unix Style - Default (whatever is listed in /etc/timezone |
The following ports are exposed.
Port | Description |
---|---|
80 |
HTTP |
For debugging and maintenance purposes you may want access the containers shell.
docker exec -it (whatever your container name is e.g. freescout) bash