Comments (10)
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.
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.
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.
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.
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.
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.
The last user who had a similar problem (#47) needed to add the
traefik.enable
label as he was running withexposedByDefault
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.
That last line indicates your client provided an incorrect username/password combo.
from mailrise.
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.
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)
- Unable to start docker container HOT 1
- STARTTLS issue with aiosmtpd 1.4.2 HOT 1
- Advertise auth support in EHLO HOT 3
- Session.login_data is deprecated HOT 4
- TLS disables authentication HOT 9
- Allow environment variable configuration to be passed to configuration file HOT 2
- Handle docker signals HOT 3
- Publish images to GHCR HOT 4
- TLS with traefik not working HOT 6
- Allow use of variables in urls HOT 2
- Can not get docker to start HOT 17
- ghcr.io image cannot be pulled by version HOT 1
- Custom Discord Avatar with Alert
- Individual recipients based on emails usernames? HOT 1
- Container crashes / won't start: "No module named 'mailrise'"
- Feature request: Filtering the text in the body HOT 5
- Mailrise service fails to start HOT 1
- How to use Traefik with TLS + Auth HOT 2
- Specify log level via config
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mailrise.