Skip to content

Commit 82dd0cc

Browse files
committed
docker: move all configuration to example.env
1 parent 4bbc036 commit 82dd0cc

File tree

5 files changed

+38
-46
lines changed

5 files changed

+38
-46
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,5 +168,4 @@ chatmail.zone
168168
# docker
169169
/data/
170170
/custom/
171-
docker-compose.yaml
172171
.env

docker/docker-compose-default.yaml renamed to docker-compose.yaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,17 @@ services:
2020
max-size: "10m"
2121
max-file: "3"
2222
environment:
23-
MAIL_DOMAIN: $MAIL_DOMAIN
2423
CHANGE_KERNEL_SETTINGS: "False"
24+
MAIL_DOMAIN: $MAIL_DOMAIN
2525
ACME_EMAIL: $ACME_EMAIL
26-
# RECREATE_VENV: "false"
27-
# MAX_MESSAGE_SIZE: "50M"
28-
# DEBUG_COMMANDS_ENABLED: "true"
29-
# FORCE_REINIT_INI_FILE: "true"
30-
# USE_FOREIGN_CERT_MANAGER: "True"
31-
# ENABLE_CERTS_MONITORING: "true"
32-
# CERTS_MONITORING_TIMEOUT: 10
33-
# IS_DEVELOPMENT_INSTANCE: "True"
26+
RECREATE_VENV: $RECREATE_VENV
27+
MAX_MESSAGE_SIZE: $MAX_MESSAGE_SIZE
28+
DEBUG_COMMANDS_ENABLED: $DEBUG_COMMANDS_ENABLED
29+
FORCE_REINIT_INI_FILE: $FORCE_REINIT_INI_FILE
30+
USE_FOREIGN_CERT_MANAGER: $USE_FOREIGN_CERT_MANAGER
31+
ENABLE_CERTS_MONITORING: $ENABLE_CERTS_MONITORING
32+
CERTS_MONITORING_TIMEOUT: $CERTS MONITORING TIMEOUT
33+
IS_DEVELOPMENT_INSTANCE: $IS_DEVELOPMENT_INSTANCE
3434
ports:
3535
- "80:80"
3636
- "443:443"

docker/example.env

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,10 @@
11
MAIL_DOMAIN="chat.example.com"
2+
# ACME_EMAIL=""
3+
# RECREATE_VENV="false"
4+
# MAX_MESSAGE_SIZE="50M"
5+
# DEBUG_COMMANDS_ENABLED="true"
6+
# FORCE_REINIT_INI_FILE="true"
7+
# USE_FOREIGN_CERT_MANAGER="True"
8+
# ENABLE_CERTS_MONITORING="true"
9+
# CERTS_MONITORING_TIMEOUT=10
10+
# IS_DEVELOPMENT_INSTANCE="True"

docs/DOCKER_INSTALLATION_EN.md

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -33,28 +33,22 @@ Please substitute it with your own domain.
3333

3434
## Installation
3535

36-
1. Copy the file `./docker/docker-compose-default.yaml` to `docker-compose.yaml`. This is necessary because `docker-compose.yaml` is in `.gitignore` and won’t cause conflicts when updating the git repository.
36+
1. Configure kernel parameters because they cannot be changed inside the container, specifically `fs.inotify.max_user_instances` and `fs.inotify.max_user_watches`. Run the following:
3737

3838
```shell
39-
cp ./docker/docker-compose-default.yaml docker-compose.yaml
39+
echo "fs.inotify.max_user_instances=65536" | sudo tee -a /etc/sysctl.d/99-inotify.conf
40+
echo "fs.inotify.max_user_watches=65536" | sudo tee -a /etc/sysctl.d/99-inotify.conf
41+
sudo sysctl --system
4042
```
43+
4144
2. Copy `./docker/example.env` and rename it to `.env`. This file stores variables used in `docker-compose.yaml`.
4245

4346
```shell
4447
cp ./docker/example.env .env
4548
```
4649

4750
3. Configure environment variables in the `.env` file. These variables are used in the `docker-compose.yaml` file to pass repeated values.
48-
49-
4. Configure kernel parameters because they cannot be changed inside the container, specifically `fs.inotify.max_user_instances` and `fs.inotify.max_user_watches`. Run the following:
50-
51-
```shell
52-
echo "fs.inotify.max_user_instances=65536" | sudo tee -a /etc/sysctl.d/99-inotify.conf
53-
echo "fs.inotify.max_user_watches=65536" | sudo tee -a /etc/sysctl.d/99-inotify.conf
54-
sudo sysctl --system
55-
```
56-
57-
5. Configure container environment variables. Below is the list of variables used during deployment:
51+
Below is the list of variables used during deployment:
5852

5953
- `MAIL_DOMAIN` – The domain name of the future server. (required)
6054
- `DEBUG_COMMANDS_ENABLED` – Run debug commands before installation. (default: `false`)
@@ -68,24 +62,20 @@ sudo sysctl --system
6862

6963
You can also use any variables from the [ini configuration file](https://github.com/chatmail/relay/blob/main/chatmaild/src/chatmaild/ini/chatmail.ini.f); they must be in uppercase.
7064

71-
Mandatory variables for deployment via Docker:
72-
73-
- `CHANGE_KERNEL_SETTINGS` – Change kernel settings (`fs.inotify.max_user_instances` and `fs.inotify.max_user_watches`) on startup. Changing kernel settings inside the container is not possible! (default: `False`)
74-
75-
6. Build the Docker image:
65+
4. Build the Docker image:
7666

7767
```shell
7868
docker compose build chatmail
7969
```
8070

81-
7. Start docker compose and wait for the installation to finish:
71+
5. Start docker compose and wait for the installation to finish:
8272

8373
```shell
8474
docker compose up -d # start service
8575
docker compose logs -f chatmail # view container logs, press CTRL+C to exit
8676
```
8777

88-
8. After installation is complete, you can open `https://<your_domain_name>` in your browser.
78+
6. After installation is complete, you can open `https://<your_domain_name>` in your browser.
8979

9080
## Using custom files
9181

docs/DOCKER_INSTALLATION_RU.md

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -30,24 +30,21 @@ Please substitute it with your own domain.
3030

3131
## Installation
3232

33-
1. Скопировать файл `./docker/docker-compose-default.yaml` в `docker-compose.yaml`. Это нужно потому что `docker-compose.yaml` находится в `.gitignore` и не будет создавать конфликты при обновлении гит репозитория.
33+
1. Настроить параметры ядра, потому что внутри контейнера их нельзя изменить, а конкретно `fs.inotify.max_user_instances` и `fs.inotify.max_user_watches`. Для этого выполнить следующее:
3434
```shell
35-
cp ./docker/docker-compose-default.yaml docker-compose.yaml
35+
echo "fs.inotify.max_user_instances=65536" | sudo tee -a /etc/sysctl.d/99-inotify.conf
36+
echo "fs.inotify.max_user_watches=65536" | sudo tee -a /etc/sysctl.d/99-inotify.conf
37+
sudo sysctl --system
3638
```
39+
3740
2. Скопировать `./docker/example.env` и переименовать в `.env`. Здесь хранятся переменные, которые используются в `docker-compose.yaml`.
3841
```shell
3942
cp ./docker/example.env .env
40-
```\
41-
3. Настроить переменные окружения в `.env` файле. Эти переменные используются в `docker-compose.yaml` файле, чтобы передавать повторяющиеся значения.
42-
43-
4. Настроить параметры ядра, потому что внутри контейнера их нельзя изменить, а конкретно `fs.inotify.max_user_instances` и `fs.inotify.max_user_watches`. Для этого выполнить следующее:
44-
```shell
45-
echo "fs.inotify.max_user_instances=65536" | sudo tee -a /etc/sysctl.d/99-inotify.conf
46-
echo "fs.inotify.max_user_watches=65536" | sudo tee -a /etc/sysctl.d/99-inotify.conf
47-
sudo sysctl --system
4843
```
4944

50-
5. Настроить переменные окружения контейнера. Ниже перечислен список переменных учавствующих при развертывании.
45+
3. Настроить переменные окружения в `.env` файле. Эти переменные используются в `docker-compose.yaml` файле, чтобы передавать повторяющиеся значения.
46+
Ниже перечислен список переменных учавствующих при развертывании:
47+
5148
- `MAIL_DOMAIN` - Доменное имя будущего сервера. (required)
5249
- `DEBUG_COMMANDS_ENABLED` - Выполнить debug команды перед установкой. (default: `false`)
5350
- `FORCE_REINIT_INI_FILE` - Пересоздавать ini файл конфигурации при запуске. (default: `false`)
@@ -60,21 +57,18 @@ sudo sysctl --system
6057

6158
Также могут быть использованы все переменные из [ini файла конфигурации](https://github.com/chatmail/relay/blob/main/chatmaild/src/chatmaild/ini/chatmail.ini.f), они обязаны быть в uppercase формате.
6259

63-
Ниже перечислены переменные, которые обязательны быть выставлены при развертывании через docker:
64-
- `CHANGE_KERNEL_SETTINGS` - Менять настройки ядра (`fs.inotify.max_user_instances` и `fs.inotify.max_user_watches`) при запуске. При запуске в контейнере смена настроек ядра не может быть выполнена! (default: `False`)
65-
66-
6. Собрать docker образ
60+
4. Собрать docker образ
6761
```shell
6862
docker compose build chatmail
6963
```
7064

71-
7. Запустить docker compose и дождаться завершения установки
65+
5. Запустить docker compose и дождаться завершения установки
7266
```shell
7367
docker compose up -d # запуск сервиса
7468
docker compose logs -f chatmail # просмотр логов контейнера. Для выхода нажать CTRL+C
7569
```
7670

77-
8. По окончанию установки можно открыть в браузер `https://<your_domain_name>`
71+
6. По окончанию установки можно открыть в браузер `https://<your_domain_name>`
7872

7973
## Использование кастомных файлов
8074
При использовании docker есть возможность использовать измененые файлы конфигурации, чтобы сделать установку более персонализированной. Обычно это требуется для секции `www/src`, чтобы ознакомительная страница Chatmail была сделана на ваш вкус. Но также это можно использовать и для любых других случаев.

0 commit comments

Comments
 (0)