go-vikunja / vikunja

Mirror of vikunja from https://code.vikunja.io/api
GNU Affero General Public License v3.0
758 stars 55 forks source link

Error sending test mail: dial failed: tls: first record does not look like a TLS handshake #274

Closed kawaegle closed 2 weeks ago

kawaegle commented 2 weeks ago

Description

networks:
  mail:
  ssl_mail:
    external: true

volumes:
  mail_data:
  mail_state:
  mail_logs:
  mail_config:
  webmail_db:
  webmail_web:

services:
  mail_server:
    image: mailserver/docker-mailserver:13.3.1
    container_name: mail_server
    restart: always
    volumes:
      - mail_data:/var/mail/
      - mail_state:/var/mail-state/
      - mail_logs:/var/log/mail/
      - mail_config:/tmp/docker-mailserver/
      - ./postfix.cf:/tmp/docker-mailserver/postfix-main.cf
      - /etc/localtime:/etc/localtime:ro
      - ../01-SSL/certs/:/etc/letsencrypt/live/:ro
    environment:
      SSL_TYPE: letsencrypt
      VIRTUAL_HOST: ${VIRTUAL_HOST}
      LETSENCRYPT_HOST: ${VIRTUAL_HOST}
      PERMIT_DOCKER: network
    ports:
      - "25:25"
      - "143:143"
      - "465:465"
      - "587:587"
      - "993:993"
    hostname: ${VIRTUAL_HOST}
    healthcheck:
      test: "ss --listening --tcp | grep -P 'LISTEN.+:smtp' || exit 1"
      timeout: 3s
      retries: 0
    stop_grace_period: 1m
    domainname: ${VIRTUAL_SMTP_HOST} # ${DOMAINNAME}

  webmail_client:
    image: roundcube/roundcubemail:1.6.6-fpm-alpine
    container_name: webmail_client
    restart: always
    depends_on:
      - webmail_db
    volumes:
      - webmail_web:/var/www/html
    networks:
      - mail
    environment:
      ROUNDCUBEMAIL_SMTP_SERVER: tls://${VIRTUAL_HOST}
      ROUNDCUBEMAIL_DEFAULT_HOST: tls://${VIRTUAL_HOST}
      ROUNDCUBEMAIL_DEFAULT_PORT: 143
      ROUNDCUBEMAIL_SMTP_PORT: 587
      ROUNDCUBEMAIL_DB_TYPE: pgsql
      ROUNDCUBEMAIL_DB_HOST: ${DB_HOST}
      ROUNDCUBEMAIL_DB_NAME: ${DB_NAME}
      ROUNDCUBEMAIL_DB_USER: ${DB_USER}
      ROUNDCUBEMAIL_DB_PASSWORD: ${DB_PASS}
      ROUNDCUBEMAIL_SKIN: elastic

  webmail_nginx:
    image: nginx:alpine
    container_name: webmail_nginx
    restart: always
    depends_on:
      - webmail_client
    volumes:
      - webmail_web:/var/www/html
      - ./nginx-template.conf:/etc/nginx/templates/default.conf.template
    environment:
      NGINX_HOST: webmail_client
      NGINX_PHP_CGI: webmail_client:9000
      VIRTUAL_HOST: ${VIRTUAL_HOST}
      VIRTUAL_PORT: ${VIRTUAL_PORT}
      LETSENCRYPT_HOST: ${VIRTUAL_HOST}
    networks:
      - ssl_mail
      - mail
    links:
      - webmail_client

  webmail_db:
    image: postgres:15
    container_name: ${DB_HOST}
    restart: always
    volumes:
      - webmail_db:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: ${DB_NAME}
      POSTGRES_USER: ${DB_USER}
      POSTGRES_PASSWORD: ${DB_PASS}
    networks:
      - mail

---------
networks:
  gitea:
  ssl_git:
    external: true

volumes:
  gitea_db:
  gitea_data:

services:
  gitea_server:
    image: gitea/gitea:1.21
    container_name: gitea_server
    restart: always
    volumes:
      - gitea_data:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
      - ./themes:/data/gitea/public/assets/
    depends_on:
      - db
    environment:
      USER_UID: 1000
      USER_GID: 1000
      GITEA__database__DB_TYPE: ${DB_TYPE}
      GITEA__database__HOST: gitea_db:3306
      GITEA__database__NAME: ${SQL_DB}
      GITEA__database__USER: ${SQL_USER}
      GITEA__database__PASSWD: ${SQL_PASSWORD}
      GITEA__service__DISABLE_REGISTRATION: ${DISABLE_REGISTRATION}
      GITEA__service__REQUIRE_SIGNIN_VIEW: ${DISABLE_REGISTRATION}
      GITEA__mailer__ENABLED: true
      GITEA__mailer__FROM: ${MAILER_FROM}
      GITEA__mailer__PROTOCOL: smtp+starttls
      GITEA__mailer__SMTP_ADDR: ${MAIL_SERVER}
      GITEA__mailer__SMTP_PORT: 587
      GITEA__mailer__USER: ${MAIL_USER}
      GITEA__mailer__PASSWD: ${MAIL_PASS}
      GITEA__APP_NAME: ${APP_NAME}
      GITEA__ui__DEFAULT_THEME: gitea-auto
      GITEA__ui__THEMES: ${THEMES_LIST}
      VIRTUAL_HOST: ${VIRTUAL_HOST}
      LETSENCRYPT_HOST: ${VIRTUAL_HOST}
      VIRTUAL_PORT: ${VIRTUAL_PORT}
    networks:
      - ssl_git
      - gitea
    ports:
      - "2222:22"

  db:
    image: mariadb:10
    container_name: gitea_db
    restart: always
    volumes:
      - gitea_db:/var/lib/mysql
    environment:
      MYSQL_RANDOM_ROOT_PASSWORD: "yes"
      MYSQL_USER: ${SQL_USER}
      MYSQL_PASSWORD: ${SQL_PASSWORD}
      MYSQL_DATABASE: ${SQL_DB}
    networks:
      - gitea

----------

networks:
  vikunja:
  ssl_orga:
    external: true

volumes:
  vikunja_db:
  vikunja_data:
  shlink_data:

services:
  vikunja_api:
    image: vikunja/api:0.22
    container_name: vikunja_api
    restart: always
    depends_on:
      - vikunja_db
    volumes:
      - vikunja_data:/app/vikunja/files
    environment:
      VIKUNJA_DATABASE_HOST: ${VIKUNJA_DATABASE_HOST}
      VIKUNJA_DATABASE_PASSWORD: ${MYSQL_PASSWORD}
      VIKUNJA_DATABASE_TYPE: ${VIKUNJA_DATABASE_TYPE}
      VIKUNJA_DATABASE_USER: ${MYSQL_USER}
      VIKUNJA_DATABASE_DATABASE: ${MYSQL_DATABASE}
      VIKUNJA_SERVICE_JWTSECRET: ${VIKUNJA_SERVICE_JWTSECRET}
      VIKUNJA_SERVICE_FRONTENDURL: ${VIKUNJA_SERVICE_FRONTENDURL}

      VIKUNJA_MAILER_ENABLED: ${VIKUNJA_MAILER_ENABLED}
      VIKUNJA_MAILER_HOST: ${VIKUNJA_MAILER_HOST}
      VIKUNJA_MAILER_PORT: ${VIKUNJA_MAILER_PORT}
      VIKUNJA_MAILER_AUTHTYPE: ${VIKUNJA_MAILER_AUTHTYPE}
      VIKUNJA_MAILER_USERNAME: ${VIKUNJA_MAILER_USERNAME}
      VIKUNJA_MAILER_FROMEMAIL: ${VIKUNJA_MAILER_FROMEMAIL}
      VIKUNJA_SERVICE_ENABLEREGISTRATION: false
      VIKUNJA_LOG_MAILLEVEL: INFO
      VIKUNJA_LOG_MAIL: stdout

      VIRTUAL_HOST: ${VIRTUAL_VIKUNJA_API_HOST}
      VIRTUAL_PORT: ${VIRTUAL_VIKUNJA_API_PORT}
      LETSENCRYPT_HOST: ${VIRTUAL_VIKUNJA_API_HOST}
    networks:
      - ssl_orga
      - vikunja

  vikunja_frontend:
    image: vikunja/frontend:0.22
    container_name: vikunja_front
    restart: unless-stopped
    depends_on:
      - vikunja_api
    environment:
      VIKUNJA_API_URL: ${VIKUNJA_API_URL}
      VIRTUAL_HOST: ${VIRTUAL_VIKUNJA_FRONT_HOST}
      VIRTUAL_PORT: ${VIRTUAL_VIKUNJA_FRONT_PORT}
      LETSENCRYPT_HOST: ${VIRTUAL_VIKUNJA_FRONT_HOST}
    networks:
      - ssl_orga
      - vikunja

  vikunja_db:
    image: mariadb:10
    container_name: vikunja_db
    restart: always
    volumes:
      - vikunja_db:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
    networks:
      - vikunja
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

this is all compose file I use (anonymized) and as said (here)[https://github.com/docker-mailserver/docker-mailserver/issues/4075] I can using the same smtp user send mail from gitea

and when I try to use vikunja testmail I get Error sending test mail: dial failed: tls: first record does not look like a TLS handshake or sending SMTP RCPT TO command: 554 5.7.1 <unknown[192.168.176.1]>: Client host rejected: Access denied

Vikunja Version

sudo docker exec -it vikunja_api /app/vikunja/vikunja version Vikunja api version v0.22.1 Built with go1.21.6

Browser and version

No response

Can you reproduce the bug on the Vikunja demo site?

No

Screenshots

No response

kolaente commented 2 weeks ago

version Vikunja api version v0.22.1

Please upgrade to the last release or an unstable build. 0.22.1 is not supported anymore.

kawaegle commented 2 weeks ago

I still get the same error

>>>sudo docker exec -it vikunja /app/vikunja/vikunja testmail username@gmail.com
2024-06-17T22:42:00.491932307Z: INFO    ▶ config/InitConfig 001 No config file found, using default or config from environment variables.
2024-06-17T22:42:00.492072262Z: INFO    ▶ cmd/func14 002 Sending testmail...
2024-06-17T22:42:00.811524934Z: ERROR   ▶ cmd/func14 003 Error sending test mail: dial failed: tls: first record does not look like a TLS handshake

with this

services:
  vikunja:
    image: vikunja/vikunja
    container_name: vikunja
    restart: always
    depends_on:
      vikunja_db:
        condition: service_healthy
    environment:
      VIKUNJA_DATABASE_HOST: ${VIKUNJA_DATABASE_HOST}
      VIKUNJA_DATABASE_PASSWORD: ${MYSQL_PASSWORD}
      VIKUNJA_DATABASE_TYPE: ${VIKUNJA_DATABASE_TYPE}
      VIKUNJA_DATABASE_USER: ${MYSQL_USER}
      VIKUNJA_DATABASE_DATABASE: ${MYSQL_DATABASE}
      VIKUNJA_SERVICE_JWTSECRET: ${VIKUNJA_SERVICE_JWTSECRET}
      VIKUNJA_SERVICE_PUBLICURL: https://${VIRTUAL_VIKUNJA_HOST}
      VIKUNJA_SERVICE_ENABLEREGISTRATION: false

      VIKUNJA_MAILER_ENABLED: ${VIKUNJA_MAILER_ENABLED}
      VIKUNJA_MAILER_HOST: ${VIKUNJA_MAILER_HOST}
      VIKUNJA_MAILER_PORT: ${VIKUNJA_MAILER_PORT}
      VIKUNJA_MAILER_FORCESSL: true
      VIKUNJA_MAILER_AUTHTYPE: ${VIKUNJA_MAILER_AUTHTYPE}
      VIKUNJA_MAILER_USERNAME: ${VIKUNJA_MAILER_USERNAME}
      VIKUNJA_MAILER_FROMEMAIL: ${VIKUNJA_MAILER_FROMEMAIL}

      VIRTUAL_HOST: ${VIRTUAL_VIKUNJA_HOST}
      VIRTUAL_PORT: ${VIRTUAL_VIKUNJA_PORT}
      LETSENCRYPT_HOST: ${VIRTUAL_VIKUNJA_HOST}
    networks:
      - ssl_orga
      - vikunja

  vikunja_db:
    image: mariadb:10
    container_name: vikunja_db
    restart: always
    volumes:
      - vikunja_db:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
    networks:
      - vikunja
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    healthcheck:
      test: ["CMD-SHELL", "mysqladmin ping -h localhost -u $$MYSQL_USER --password=$$MYSQL_PASSWORD"]
      interval: 2s
      start_period: 30s
kolaente commented 2 weeks ago

Does it work with an unstable build?

kawaegle commented 2 weeks ago

changed to unstable and completely down and restart all my docker interfaces and now for no real reason it work

Sorry for useless issues