From 6eeb586f02df7cf872297f93b0194c14823b230b Mon Sep 17 00:00:00 2001 From: Taras Machyshyn Date: Tue, 14 May 2024 12:38:19 +0300 Subject: [PATCH 1/3] Add EspoCRM docs --- espocrm/README-short.txt | 1 + espocrm/content.md | 127 +++++++++++++++++++++++++++++++++++++++ espocrm/github-repo | 1 + espocrm/license.md | 1 + espocrm/logo.png | Bin 0 -> 16449 bytes espocrm/maintainer.md | 1 + espocrm/stack.yml | 58 ++++++++++++++++++ 7 files changed, 189 insertions(+) create mode 100644 espocrm/README-short.txt create mode 100644 espocrm/content.md create mode 100644 espocrm/github-repo create mode 100644 espocrm/license.md create mode 100644 espocrm/logo.png create mode 100644 espocrm/maintainer.md create mode 100644 espocrm/stack.yml diff --git a/espocrm/README-short.txt b/espocrm/README-short.txt new file mode 100644 index 000000000000..82ebd48256be --- /dev/null +++ b/espocrm/README-short.txt @@ -0,0 +1 @@ +EspoCRM is a highly customizable open source CRM software. diff --git a/espocrm/content.md b/espocrm/content.md new file mode 100644 index 000000000000..e350643a655a --- /dev/null +++ b/espocrm/content.md @@ -0,0 +1,127 @@ +# What is EspoCRM? + +EspoCRM is a highly customizable open source CRM software that allows users to see, enter and evaluate all your company relationships regardless of the type. People, companies, projects or opportunities - all in an easy and intuitive interface. + +%%LOGO%% + +# How to use this image + +This image requires to run MySQL server: + +```console +docker run --name mysql -e MYSQL_ROOT_PASSWORD=password -d mysql:8 +``` + +Run EspoCRM container: + +```console +docker run --name some-%%REPO%% --link mysql:mysql -d %%IMAGE%% +``` + +Run EspoCRM container via a specific port: + +```console +docker run --name some-%%REPO%% -p 8080:80 --link mysql:mysql -d %%IMAGE%% +``` + +Then, access it via `http://localhost:8080` with credentials "admin" and "password". + +Run EspoCRM via a specific IP or a domain with a port: + +```console +docker run --name some-%%REPO%% -e ESPOCRM_SITE_URL=http://172.20.0.100:8080 -p 8080:80 --link mysql:mysql -d %%IMAGE%% +``` + +Then, access it via `http://172.20.0.100:8080` with credentials "admin" and "password". + +## %%STACK%% + +Run `docker stack deploy -c stack.yml %%REPO%%` (or `docker-compose -f stack.yml up`), wait for it to initialize completely, and visit `http://localhost:8080`. + +## Environment variables + +This is one-time environment variables which are using only for the fresh installation. If you need to define configuration options on the container startup, see the [Config Environments](#config-environments). + +#### ESPOCRM_DATABASE_PLATFORM + +Database platform. The possible values: `Mysql` or `Postgresql`. The default value is `Mysql`. + +#### ESPOCRM_DATABASE_HOST + +Database host name for EspoCRM. The default value is `mysql`. + +#### ESPOCRM_DATABASE_NAME + +Database name for EspoCRM. The default value is `espocrm`. + +#### ESPOCRM_DATABASE_USER + +Database user for EspoCRM. The default value is `root`. + +#### ESPOCRM_DATABASE_PASSWORD + +Database password for EspoCRM. The default value is `password`. + +#### ESPOCRM_ADMIN_USERNAME + +User name for an administrator of EspoCRM. The default value is `admin`. + +#### ESPOCRM_ADMIN_PASSWORD + +User password for an administrator of EspoCRM. The default value is `password`. + +#### ESPOCRM_SITE_URL + +The URL of EspoCRM. This option is very important for normal operating of EspoCRM. Examples: `http://172.20.0.100:8080`, `http://my-crm.local`. + +### Other optional options + +The list of possible values and their default values can be found in EspoCRM Administrator panel > Settings. + +- `ESPOCRM_LANGUAGE` +- `ESPOCRM_DATE_FORMAT` +- `ESPOCRM_TIME_FORMAT` +- `ESPOCRM_TIME_ZONE` +- `ESPOCRM_WEEK_START` +- `ESPOCRM_DEFAULT_CURRENCY` +- `ESPOCRM_THOUSAND_SEPARATOR` +- `ESPOCRM_DECIMAL_MARK` + +## Config Environments + +These environment variables are using to define configuration parameters of the EspoCRM every time on the container startup. The parameters that can be changed are defined in the `data/config.php` or `data/config-internal.php`. + +### Naming + +Config environment variables should be converted from the camel-case format. For example: +The `exportDisabled` config option should be converted to `ESPOCRM_CONFIG_EXPORT_DISABLED`. + +### Logger + +There are additional options to change the `logger`: + +- `ESPOCRM_CONFIG_LOGGER_LEVEL: "DEBUG"`, +- `ESPOCRM_CONFIG_LOGGER_MAX_FILE_NUMBER: 30` +- `ESPOCRM_CONFIG_LOGGER_PATH: "data/logs/espo.log"` + +### Allowed types: + +#### String +``` +ESPOCRM_CONFIG_WEB_SOCKET_URL: "wss://my-espocrm.com:8080" +``` + +#### Integer +``` +ESPOCRM_CONFIG_EMAIL_MESSAGE_MAX_SIZE: 10 +``` + +#### Boolean +``` +ESPOCRM_CONFIG_USE_WEB_SOCKET: "true" +``` + +#### Null +``` +ESPOCRM_CONFIG_CURRENCY_DECIMAL_PLACES: "null" +``` diff --git a/espocrm/github-repo b/espocrm/github-repo new file mode 100644 index 000000000000..cb578347e0e0 --- /dev/null +++ b/espocrm/github-repo @@ -0,0 +1 @@ +https://github.com/espocrm/espocrm-docker diff --git a/espocrm/license.md b/espocrm/license.md new file mode 100644 index 000000000000..40baafa8894a --- /dev/null +++ b/espocrm/license.md @@ -0,0 +1 @@ +View [license information](https://www.espocrm.com/espocrm-open-source-license/) for the software contained in this image. diff --git a/espocrm/logo.png b/espocrm/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..879de5e8b6849ecd6c214664500bb34e7033c46b GIT binary patch literal 16449 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 Date: Wed, 15 May 2024 16:43:48 +0300 Subject: [PATCH 2/3] Fixed ymlfmt & markdownfmt validation --- espocrm/content.md | 25 +++++++++++++++---------- espocrm/stack.yml | 10 +++++----- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/espocrm/content.md b/espocrm/content.md index e350643a655a..cb3f940c938b 100644 --- a/espocrm/content.md +++ b/espocrm/content.md @@ -94,34 +94,39 @@ These environment variables are using to define configuration parameters of the ### Naming Config environment variables should be converted from the camel-case format. For example: + The `exportDisabled` config option should be converted to `ESPOCRM_CONFIG_EXPORT_DISABLED`. ### Logger There are additional options to change the `logger`: -- `ESPOCRM_CONFIG_LOGGER_LEVEL: "DEBUG"`, -- `ESPOCRM_CONFIG_LOGGER_MAX_FILE_NUMBER: 30` -- `ESPOCRM_CONFIG_LOGGER_PATH: "data/logs/espo.log"` +- `ESPOCRM_CONFIG_LOGGER_LEVEL: 'DEBUG'` +- `ESPOCRM_CONFIG_LOGGER_MAX_FILE_NUMBER: 30` +- `ESPOCRM_CONFIG_LOGGER_PATH: 'data/logs/espo.log'` ### Allowed types: #### String -``` -ESPOCRM_CONFIG_WEB_SOCKET_URL: "wss://my-espocrm.com:8080" + +```yaml +ESPOCRM_CONFIG_WEB_SOCKET_URL: 'wss://my-espocrm.com:8080' ``` #### Integer -``` + +```yaml ESPOCRM_CONFIG_EMAIL_MESSAGE_MAX_SIZE: 10 ``` #### Boolean -``` -ESPOCRM_CONFIG_USE_WEB_SOCKET: "true" + +```yaml +ESPOCRM_CONFIG_USE_WEB_SOCKET: 'true' ``` #### Null -``` -ESPOCRM_CONFIG_CURRENCY_DECIMAL_PLACES: "null" + +```yaml +ESPOCRM_CONFIG_CURRENCY_DECIMAL_PLACES: 'null' ``` diff --git a/espocrm/stack.yml b/espocrm/stack.yml index dd6aa89e8033..84330b36479e 100644 --- a/espocrm/stack.yml +++ b/espocrm/stack.yml @@ -23,7 +23,7 @@ services: ESPOCRM_DATABASE_PASSWORD: database_password ESPOCRM_ADMIN_USERNAME: admin ESPOCRM_ADMIN_PASSWORD: password - ESPOCRM_SITE_URL: "http://localhost:8080" + ESPOCRM_SITE_URL: http://localhost:8080 volumes: - espocrm:/var/www/html restart: always @@ -42,10 +42,10 @@ services: image: espocrm container_name: espocrm-websocket environment: - ESPOCRM_CONFIG_USE_WEB_SOCKET: "true" - ESPOCRM_CONFIG_WEB_SOCKET_URL: "ws://localhost:8081" - ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBSCRIBER_DSN: "tcp://*:7777" - ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBMISSION_DSN: "tcp://espocrm-websocket:7777" + ESPOCRM_CONFIG_USE_WEB_SOCKET: 'true' + ESPOCRM_CONFIG_WEB_SOCKET_URL: ws://localhost:8081 + ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBSCRIBER_DSN: tcp://*:7777 + ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBMISSION_DSN: tcp://espocrm-websocket:7777 volumes: - espocrm:/var/www/html restart: always From 3a8df2bde2f8013046ab9e4d60568b1054200fcb Mon Sep 17 00:00:00 2001 From: Taras Machyshyn Date: Wed, 15 May 2024 19:40:27 +0300 Subject: [PATCH 3/3] Added get-help --- espocrm/get-help.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 espocrm/get-help.md diff --git a/espocrm/get-help.md b/espocrm/get-help.md new file mode 100644 index 000000000000..88e755bdafe8 --- /dev/null +++ b/espocrm/get-help.md @@ -0,0 +1 @@ +[GitHub Issues](https://github.com/espocrm/espocrm/issues), [EspoCRM Documentation](https://docs.espocrm.com), [EspoCRM Community](https://forum.espocrm.com)