Giter Club home page Giter Club logo

Comments (10)

YoRyan avatar YoRyan commented on May 29, 2024

First things first, see if Mailrise works without the Traefik wrapper. If you want extra logging pass -v or -vv. The full command needs to include the path to the configuration, so you should be using e.g. -v /etc/mailrise.conf.

Once you've confirmed Mailrise is doing its thing, you can turn your attention to your Traefik and Compose configurations. The Traefik Dashboard will show you whether you've connected your routers and services correctly. As for Compose, you seem to be using an unmanaged proxy network, which could possibly cause connectivity issues between the containers. Is that network handing out IP addresses?

I'll caution that I am not really a Traefik expert; the config I have in the Readme is what works for me.

from mailrise.

sdooweloc avatar sdooweloc commented on May 29, 2024

What command are you referring to? The docker compose doesnt include a command in your templates and running it just uses docker-compose up -d so I am not sure where you are wanting me to pass the -v and config location.

The proxy network is what everything that is behind traefik is on and no other containers have any issues being on it. I have an entire media stack, gitea, portainer, and more all on that network with IPs and connectivity with my external machine and each other.

from mailrise.

YoRyan avatar YoRyan commented on May 29, 2024

I'm referring to the command-line arguments passed to the container. In Compose, you set these with the command field.

services:
  mailrise:
    image: yoryan/mailrise
    container_name: mailrise
    command: -vv /etc/mailrise.conf
    restart: unless-stopped
    networks:
      - proxy
    volumes:
      - /mnt/docker/mailrise/mailrise.conf:/etc/mailrise.conf:ro
    labels:
      traefik.tcp.routers.mailrise.rule: "HostSNI(`*`)"
      traefik.tcp.routers.mailrise.tls: "true"
      traefik.tcp.routers.mailrise.certresolver: "cloudflare"
      traefik.tcp.routers.mailrise.tls.domains[0].main: "mailrise.my.domain"
      traefik.tcp.routers.mailrise.tls.domains[0].sans: ""
      traefik.tcp.routers.mailrise.entrypoints: "mailsecure"
      traefik.docker.network: "proxy"

Also see if you can get any services to reach Mailrise directly (by IP address), without going through Traefik.

from mailrise.

sdooweloc avatar sdooweloc commented on May 29, 2024

Okay. Commented out all the labels and added in the command flag but left it on the proxy network since that is what everything else is on anyway.

Finally getting logs now though realistically not many logs

[2023-01-16 20:28:52] DEBUG:apprise:Loading raw configuration: urls:
- discord://ID/KEY

[2023-01-16 20:28:52] DEBUG:apprise:Loading raw configuration: urls:
- discord://ID/KEY

[2023-01-16 20:28:52] INFO:mailrise.skeleton:Loaded configuration with 2 recipient(s)
[2023-01-16 20:28:52] DEBUG:mailrise.skeleton:Arguments for aiosmtpd: authenticator=Basic(2), auth_required=True, auth_require_tls=False, tls_context=None, ssl_context=None, require_starttls=False
[2023-01-16 20:28:52] DEBUG:asyncio:Using selector: EpollSelector

Not sure really how best to get services to reach Mailrise in this state since the gitea method I was testing with requires TLS to be enabled and I am not passing any keys or anything into the container currently.

from mailrise.

sdooweloc avatar sdooweloc commented on May 29, 2024

Also tried running with the extra flags with the labels uncommented and got the same log result just different timestamp.

so that leads me to believe that something is up with the way it is interfacing with traefik but as you can see from the stuff I posted originally I just added in the flags and such you mention (other than changing resolver to cloudflare and specifying the network) so unless there is something else in your traefik setup that I am missing I dont know what could be going on.

In my traefik dashboard I am not seeing anything in the TCP section for routers which confirms the theory it isnt interfacing properly

from mailrise.

YoRyan avatar YoRyan commented on May 29, 2024

The last user who had a similar problem (#47) needed to add the traefik.enable label as he was running with exposedByDefault set to false.

from mailrise.

sdooweloc avatar sdooweloc commented on May 29, 2024

The last user who had a similar problem (#47) needed to add the traefik.enable label as he was running with exposedByDefault set to false.

Okay some progress now. That got me the TCP Router and Service in the Traefik dashboard.
however when I send an email it still isnt playing nice.
logs below but not sure what is going wrong as its just info debug and wrnings no errors.

[2023-01-16 20:48:08] DEBUG:asyncio:Using selector: EpollSelector
/home/mailrise/.local/lib/python3.11/site-packages/aiosmtpd/smtp.py:372: UserWarning: Requiring AUTH while not requiring TLS can lead to security vulnerabilities!
  warn("Requiring AUTH while not requiring TLS "
[2023-01-16 20:48:41] WARNING:mail.log:auth_required == True but auth_require_tls == False
[2023-01-16 20:48:41] INFO:mail.log:Available AUTH mechanisms: LOGIN(builtin) PLAIN(builtin)
[2023-01-16 20:48:41] INFO:mail.log:Peer: ('172.18.0.2', 38844)
[2023-01-16 20:48:41] INFO:mail.log:('172.18.0.2', 38844) handling connection
[2023-01-16 20:48:41] DEBUG:mail.log:('172.18.0.2', 38844) << b'220 43bde50a2853 Mailrise 0.0.post1.dev1+gb1941ce'
[2023-01-16 20:48:41] DEBUG:mail.log:_handle_client readline: b'EHLO 843f8798da96\r\n'
[2023-01-16 20:48:41] INFO:mail.log:('172.18.0.2', 38844) >> b'EHLO 843f8798da96'
[2023-01-16 20:48:41] DEBUG:mail.log:('172.18.0.2', 38844) << b'250-43bde50a2853'
[2023-01-16 20:48:41] DEBUG:mail.log:('172.18.0.2', 38844) << b'250-SIZE 33554432'
[2023-01-16 20:48:41] DEBUG:mail.log:('172.18.0.2', 38844) << b'250-8BITMIME'
[2023-01-16 20:48:41] DEBUG:mail.log:('172.18.0.2', 38844) << b'250-SMTPUTF8'
[2023-01-16 20:48:41] DEBUG:mail.log:('172.18.0.2', 38844) << b'250-AUTH LOGIN PLAIN'
[2023-01-16 20:48:41] DEBUG:mail.log:('172.18.0.2', 38844) << b'250 HELP'
[2023-01-16 20:48:41] DEBUG:mail.log:_handle_client readline: b'AUTH PLAIN ********\r\n'
[2023-01-16 20:48:41] INFO:mail.log:('172.18.0.2', 38844) >> b'AUTH PLAIN ********'
[2023-01-16 20:48:41] DEBUG:mail.log:Using builtin auth_ hook for 'PLAIN'
[2023-01-16 20:48:41] DEBUG:mail.log:auth_PLAIN returned AuthResult(success=False, handled=True, message=None, auth_data=...)

from mailrise.

YoRyan avatar YoRyan commented on May 29, 2024

That last line indicates your client provided an incorrect username/password combo.

from mailrise.

sdooweloc avatar sdooweloc commented on May 29, 2024

Okay. Yep I do see the typo there now that it is actually hitting something.
fixed the typo and got a DC ping so looking good

Is the complete log silence by default intentional? I have never seen a docker container log absolutely nothing to the stdout for docker logs and or things like Loki to pick up on. Makes troubleshooting if the container is actually even doing anything nearly impossible

from mailrise.

YoRyan avatar YoRyan commented on May 29, 2024

Is the complete log silence by default intentional? I have never seen a docker container log absolutely nothing to the stdout for docker logs and or things like Loki to pick up on. Makes troubleshooting if the container is actually even doing anything nearly impossible

The default logging level for a Python app is warnings or errors only. You're right that most other Docker images use the "info" level. I could certainly change the default behavior.

from mailrise.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.