All Projects → fauzie → docker-whmcs

fauzie / docker-whmcs

Licence: other
Docker container ready-to-use for WHMCS environment.

Programming Languages

shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to docker-whmcs

WHMCS-zh-CN
WHMCS系统7.9.2-8.5.0前后台简体中文汉化
Stars: ✭ 103 (+119.15%)
Mutual labels:  whmcs
Leap
Free & Open alternative to WHMCS. Let's see if we can make it
Stars: ✭ 270 (+474.47%)
Mutual labels:  whmcs
WHMCS-JSJ-API-Pay-Gateway
WHMCS 财务系统对接金莎云免签支付API(你们怎么用,与我无瓜好吧:)
Stars: ✭ 58 (+23.4%)
Mutual labels:  whmcs
whmcs-addon
GOGETSSL WHMCS SSL Addon
Stars: ✭ 28 (-40.43%)
Mutual labels:  whmcs
f2faliPay-For-WHMCS
aliPay face to face Pay!
Stars: ✭ 15 (-68.09%)
Mutual labels:  whmcs
whmcs autoauth
Automatic authentication via link in WHMCS template emails.
Stars: ✭ 25 (-46.81%)
Mutual labels:  whmcs
whmcs
WHMCS Module for Pterodactyl (v0.7.3 and higher)
Stars: ✭ 127 (+170.21%)
Mutual labels:  whmcs
PUQ WHMCS-Public-Nextcloud
Module for the WHMCS system. For manage NextCloud users as a product.
Stars: ✭ 17 (-63.83%)
Mutual labels:  whmcs
SolusVM-Premium-For-WHMCS
NeWorld SolusVM Premium Server Module For WHMCS
Stars: ✭ 20 (-57.45%)
Mutual labels:  whmcs
whmcs-vultr
Vultr Module for WHMCS
Stars: ✭ 86 (+82.98%)
Mutual labels:  whmcs
laravel-whmcs-up
WHMCS API client and user provider for Laravel
Stars: ✭ 22 (-53.19%)
Mutual labels:  whmcs
WHMCS-Action-Hook-Factory
Free collection of Action Hooks, Reports and Modules to perfect your WHMCS
Stars: ✭ 120 (+155.32%)
Mutual labels:  whmcs
MugglePay
Make Crypto Payment Easy 让数字货币支付更简单
Stars: ✭ 176 (+274.47%)
Mutual labels:  whmcs
WHMCS-Discord-Notifications
A hook to push a range of different WHMCS notifications instantly to a Discord channel.
Stars: ✭ 52 (+10.64%)
Mutual labels:  whmcs
SHOUTcast-Manager
[DEPRECATED] NO LONGER MAINTAINED - A PHP SHOUTcast hosting tool with support for PHP 5.x & 7.x with SHOUTcast v1 & v2)
Stars: ✭ 24 (-48.94%)
Mutual labels:  whmcs
laravel-whmcs
WHMCS API for Laravel
Stars: ✭ 41 (-12.77%)
Mutual labels:  whmcs
QQConnent-For-WHMCS
WHMCS的QQ互联的模块。
Stars: ✭ 28 (-40.43%)
Mutual labels:  whmcs

Docker WHMCS

Ready to use docker image for WHMCS environment.

Please note: Use your own WHMCS package and map to volume /var/www/whmcs

Features

  • Using latest php version 7.2
  • Ioncube loader ready
  • Nginx server configuration for WHMCS
  • Installed default cron for WHMCS (all task include ticket import)
  • Custom mapping volume for WHMCS installation at /var/www/whmcs
  • SSH login with password or public key on port 2222
  • Host SSL Enabled (please map your letsencrypt or other valid certificate)

Installation

First you need to docker pull fauzie/docker-whmcs:latest in your docker host. Create docker-compose.yml and specify your environment or use one from this repository.

Required Environment

  • VIRTUAL_HOST : URL for your WHMCS installation
  • WHMCS_SERVER_IP : Required to validate your WHMCS licence (use your docker host public IP address)
  • APP_PASSWORD : Specify user app password for SSH login
  • SSH_PUBLIC_KEY : or use public key for SSH login, if this specified password login will disabled automatically

Additional Environment

  • TZ : php config date.timezone, default Asia/Jakarta
  • WORKER_PROCESSES: Nginx worker proccess, default auto to use total of your CPU
  • NGINX_CLIENT_MAX_BODY_SIZE: Nginx limit max upload size, default 50MB
  • PHP_SESSION_SAVE_HANDLER: php session save handler e.g: "redis", default "files"
  • PHP_SESSION_SAVE_PATH: php session save path, default if save handler files is /var/lib/php/sessions
  • PHP_UPLOAD_MAX_FILESIZE: max upload size limit on php, default same as Nginx
  • PHP_POST_MAX_SIZE: php post max size
  • PUID - Changes the uid of the app user, default 911
  • PGID - Changes the gid of the app group, default 911
  • SMTP_HOST - Change the SMTP relay server used by ssmtp (sendmail)
  • SMTP_USER - Username for the SMTP relay server
  • SMTP_PASS - Password for the SMTP relay server
  • SMTP_PORT - Outgoing SMTP port, default 587
  • SMTP_SECURE - Does the SMTP server requires a secure connection, default TRUE if SMTP_USER is set.
  • SMTP_TLS - Use STARTTLS, default TRUE (if SMTP_TLS is FALSE and SMTP_SECURE is true, SMTP over SSL will be used)
  • SMTP_MASQ - Masquerade outbound emails using this domain, default empty

Ports

  • 443: Nginx virtualhost SSL enabled
  • 2222 : For remote SSH login

Email

If you need to send mail and cannot use SMTP directly, ssmtp is installed to provide /usr/bin/sendmail and is configured using the SMTP_ variables.

If SMTP_USER is not set, unauthenticated SMTP will be used and SSL/TLS is disabled.

Local WHMCS Development

WHMCS Dev License

As long as you have an active WHMCS license, you can reach out to WHMCS Support and get a free dev License to use for your local development. This Docker setup makes sure you can use it across different machines since the valid IP will be the same. Make sure not to change the Hostname across machines or your dev license will become invalid and needs to be reiussed manually.

How to run it

In docker-compose[-local].yml change /your/path/to/whmcs:/var/www/whmcs to a directory with your whmcs install e.g. ./../whmcs-local/public:/var/www/whmcs

Start your containers by running

foo@bar:~$ docker-compose up

You can then access the container on http://localhost/. By default it maps to Port 80 which can be changed in the docker-compose.yml. Add whmcs.test (or whatever hostname you choose) to your hosts file pointing to 127.0.0.1 to use http://whmcs.test for local development.

Using Mailhog for E-Mail testing

In docker-compose-local.yml we've added a third container running mailhog and configured the whmcs container to use it as their outgoing SMPT Server. The whmcs container is based on ajoergensen/baseimage-ubuntu and includes ssmtp which can be configured using the ENV Variables mentioned above. With this configuration all WHMCS E-mails will automatically be captured by mailhog. No configuration within WHMCS necessary, since the php mail() function will rely on the container settings.

Start your containers with mailhog by specifying the compose file for local development. Or just rename it to docker-compose.yml if thats all you want to do.

foo@bar:~$ docker-compose -f docker-compose-local.yml up

You can then access the mailhog webinterface on http://localhost:8025

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].