====== Mailcow Dockerized Mail Server ====== Environment: ''jwilder/nginx-proxy'' https://mailcow.github.io/mailcow-dockerized-docs/firststeps-rp/#nginx proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; client_max_body_size 100m; "webproxy" is the network from docker-compose-letsencrypt-nginx-proxy-companion. version: '2.1' services: nginx-mailcow: environment: - LETSENCRYPT_HOST=${MAILCOW_HOSTNAME},${ADDITIONAL_SAN} - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL} - VIRTUAL_HOST=${MAILCOW_HOSTNAME},${ADDITIONAL_SAN} - VIRTUAL_PROTO=http - VIRTUAL_PORT=80 networks: webproxy: networks: webproxy: external: name: webproxy disable HTTPS and HTTP port, as [[https://github.com/docker/compose/pull/3939|you can't currently override this]]. nginx-mailcow: … # ports: # - "${HTTPS_BIND:-0.0.0.0}:${HTTPS_PORT:-443}:${HTTPS_PORT:-443}" # - "${HTTP_BIND:-0.0.0.0}:${HTTP_PORT:-80}:${HTTP_PORT:-80}" "LETSENCRYPT_EMAIL" is a new variable LETSENCRYPT_EMAIL=webmaster@example.com http to https redirect must be disabled. Please also deactivate the Strict-Transport-Security header in the http section, otherwise there will be an duplicate HSTS header error on https://www.ssllabs.com/ssltest … # add_header Strict-Transport-Security "max-age=15768000; includeSubDomains"; … Source: [[https://github.com/mailcow/mailcow-dockerized/issues/570|Github Issue "reverse proxy in different network"]] ===== Troubleshooting ===== ==== mysql container doesn't start properly ==== source mailcow.conf; docker-compose exec mysql-mailcow mysql_upgrade -uroot -p${DBROOT} ==== mysql container throws errors after DB migration/update ==== If you encounter these or similar errors: [ERROR] Incorrect definition of table mysql.event: expected column 'sql_mode' at position 14 to have type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','IGNORE_BAD_TABLE_OPTIONS','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRE SQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USE R','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT'), found type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','IGNORE_BAD_TABLE_OPTIONS','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE' ,'MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALU [ERROR] mysqld: Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler. Execute the following in the folder with mailcow's ''docker-compose.yml'': docker-compose stop mysql-mailcow watchdog-mailcow docker-compose run --rm --entrypoint '/bin/sh -c "gosu mysql mysqld --skip-grant-tables & sleep 10 && bash && exit 0"' mysql-mailcow # then issue: mysql_upgrade --force exit docker-compose up -d