grommunio / gromox-container Goto Github PK
View Code? Open in Web Editor NEWDocker deployments for gromox, and grommunio (in progress)
Docker deployments for gromox, and grommunio (in progress)
Just wanted to give this suite a try, but when following the installation guide in the examples folder, I em encountering the folloing error after running docker-compose up
:
admin_1 | [admin] Failed to detect schema version, assuming up-to-date schema
admin_1 | [admin] Traceback (most recent call last):
admin_1 | [admin] File "./main.py", line 20, in <module>
admin_1 | [admin] from api.core import API # Export to uwsgi server
admin_1 | [admin] File "./api/core.py", line 8, in <module>
admin_1 | [admin] from orm import DB
admin_1 | [admin] File "./orm/__init__.py", line 164, in <module>
admin_1 | [admin] err = DB.testConnection(verbose=True)
admin_1 | [admin] File "./orm/__init__.py", line 47, in testConnection
admin_1 | [admin] self.session.execute("SELECT 1 FROM DUAL")
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/orm/scoping.py", line 163, in do
admin_1 | [admin] return getattr(self.registry(), name)(*args, **kwargs)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/orm/session.py", line 1295, in execute
admin_1 | [admin] return self._connection_for_bind(bind, close_with_result=True).execute(
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/orm/session.py", line 1151, in _connection_for_bind
admin_1 | [admin] engine, execution_options
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/orm/session.py", line 433, in _connection_for_bind
admin_1 | [admin] conn = bind._contextual_connect()
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 2302, in _contextual_connect
admin_1 | [admin] self._wrap_pool_connect(self.pool.connect, None),
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 2336, in _wrap_pool_connect
admin_1 | [admin] return fn()
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/pool/base.py", line 364, in connect
admin_1 | [admin] return _ConnectionFairy._checkout(self)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/pool/base.py", line 778, in _checkout
admin_1 | [admin] fairy = _ConnectionRecord.checkout(pool)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/pool/base.py", line 495, in checkout
admin_1 | [admin] rec = pool._do_get()
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/pool/impl.py", line 140, in _do_get [31/628]
admin_1 | [admin] self._dec_overflow()
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
admin_1 | [admin] with_traceback=exc_tb,
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/util/compat.py", line 182, in raise_
admin_1 | [admin] raise exception
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/pool/impl.py", line 137, in _do_get
admin_1 | [admin] return self._create_connection()
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/pool/base.py", line 309, in _create_connection
admin_1 | [admin] return _ConnectionRecord(self)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/pool/base.py", line 440, in __init__
admin_1 | [admin] self.__connect(first_connect_check=True)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/pool/base.py", line 666, in __connect
admin_1 | [admin] ).exec_once_unless_exception(self.connection, self)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/event/attr.py", line 314, in exec_once_unless_exception
admin_1 | [admin] self._exec_once_impl(True, *args, **kw)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/event/attr.py", line 285, in _exec_once_impl
admin_1 | [admin] self(*args, **kw)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/event/attr.py", line 322, in __call__
admin_1 | [admin] fn(*args, **kw)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 1406, in go
admin_1 | [admin] return once_fn(*arg, **kw)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/strategies.py", line 199, in first_connect
admin_1 | [admin] dialect.initialize(c)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/dialects/mysql/base.py", line 2624, in initialize
admin_1 | [admin] self._detect_sql_mode(connection)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/dialects/mysql/base.py", line 3085, in _detect_sql_mode
admin_1 | [admin] connection.execute("SHOW VARIABLES LIKE 'sql_mode'"),
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1003, in execute
admin_1 | [admin] return self._execute_text(object_, multiparams, params)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1178, in _execute_text
admin_1 | [admin] parameters,
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1317, in _execute_context
admin_1 | [admin] e, statement, parameters, cursor, context
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1514, in _handle_dbapi_exception
admin_1 | [admin] util.raise_(exc_info[1], with_traceback=exc_info[2])
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/util/compat.py", line 182, in raise_
admin_1 | [admin] raise exception
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 1277, in _execute_context
admin_1 | [admin] cursor, statement, parameters, context
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/sqlalchemy/engine/default.py", line 609, in do_execute
admin_1 | [admin] cursor.execute(statement, parameters)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 209, in execute
admin_1 | [admin] res = self._query(query)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 317, in _query
admin_1 | [admin] self._post_get_result()
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 352, in _post_get_result
admin_1 | [admin] self._rows = self._fetch_row(0)
admin_1 | [admin] File "/usr/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 325, in _fetch_row
admin_1 | [admin] return self._result.fetch_row(size, self._fetch_type)
admin_1 | [admin] decimal.InvalidOperation: [<class 'decimal.ConversionSyntax'>]
admin_1 | [admin] unable to load app 0 (mountpoint='') (callable not found or import error)
admin_1 | [admin] *** no app loaded. going in full dynamic mode ***
admin_1 | [admin] uWSGI running as root, you can use --uid/--gid/--chroot options
admin_1 | [admin] *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
admin_1 | [admin] *** uWSGI is running in multiple interpreter mode ***
admin_1 | [admin] spawned uWSGI master process (pid: 104)
admin_1 | [admin] spawned uWSGI worker 1 (pid: 127, cores: 4)
The application seems to start, but all requests cause the following error in the logs, of course:
admin_1 | [admin] --- no python application found, check your startup logs for errors ---
I think the behavior was slightly different, when I had started everything for the first time. I think the application was starting up fine, but I was getting a slightly different error about decimal conversation. Not sure about that, though, as I don't have the logs any more.
Please let me know if I can provide further information :-)
hi there, many thanks for putting together a docker-compose environment for Grommunio. I've been trying to get this going and have run into an issue:
#31530(main) rspamd_inet_address_listen: bind 127.0.0.1:11332 failed: 98, 'Address already in use'
#31530(main) rspamd_inet_address_listen: bind [::1]:11332 failed: 98, 'Address already in use'
my docker-compose.yml is largely the same as in your example, and inside the container I do have IPv6 enabled:
5f36c6e335a:/ # ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
865: eth0@if866: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:c0:a8:30:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 192.168.48.2/24 brd 192.168.48.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::42:c0ff:fea8:3002/64 scope link
valid_lft forever preferred_lft forever
inet6 fe80::1/64 scope link nodad
valid_lft forever preferred_lft forever
This container is running in it's own subnet with it's own unique IPv4 address. It does not appear that 11332 is open either inside the container or on the host machine. Hunting through logs and experimenting I'm wondering if perhaps having 2 IPv6 addresses assigned to eth0 might cause an issue?
cheers,
Kristan
I have attached the log file. I am running on an arm64 server and had issues with the official docker image, so I have made a fork which I changed various things to get it to build for arm64. I got it working mostly, but got stuck at this error which is some weird behaviour after it all succesfully starts running.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.