goofball222 / pritunl

Pritunl Docker container with IPv6 and reverse-proxy support
Apache License 2.0
121 stars 33 forks source link

Start error #36

Open a-reznic opened 3 months ago

a-reznic commented 3 months ago

try this examples/docker-compose.yml

Error message:

2024-05-16T13:08:06.966 <docker-entrypoint> INFO - Script version 1.0.2
2024-05-16T13:08:06.971 <docker-entrypoint> INFO - Insuring pritunl setup for container
Database configuration successfully set
[local][2024-05-16 13:08:55,853][ERROR] Pritunl setup failed
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pritunl-1.32.3897.75-py3.11.egg/pritunl/setup/__init__.py", line 93, in setup_db_host
    setup_mongo()
  File "/usr/lib/python3.11/site-packages/pritunl-1.32.3897.75-py3.11.egg/pritunl/setup/mongo.py", line 351, in setup_mongo
    app_settings = settings_col.find_one({'_id': 'app'})
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pymongo/collection.py", line 1491, in find_one
    for result in cursor.limit(-1):
  File "/usr/lib/python3.11/site-packages/pymongo/cursor.py", line 1280, in next
    if len(self.__data) or self._refresh():
                           ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pymongo/cursor.py", line 1165, in _refresh
    self.__session = self.__collection.database.client._ensure_session()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pymongo/mongo_client.py", line 2027, in _ensure_session
    return self.__start_session(True, causal_consistency=False)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pymongo/mongo_client.py", line 1976, in __start_session
    server_session = self._get_server_session()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pymongo/mongo_client.py", line 2013, in _get_server_session
    return self._topology.get_server_session()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pymongo/topology.py", line 525, in get_server_session
    session_timeout = self._check_session_support()
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pymongo/topology.py", line 507, in _check_session_support
    self._select_servers_loop(
  File "/usr/lib/python3.11/site-packages/pymongo/topology.py", line 226, in _select_servers_loop
    raise ServerSelectionTimeoutError(
pymongo.errors.ServerSelectionTimeoutError: mongo:27017: [Errno -2] Name does not resolve, Timeout: 30.0s, Topology Description: <TopologyDescription id: 664605493d64846a0eaa3bbf, topology_type: Single, servers: [<ServerDescription ('mongo', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mongo:27017: [Errno -2] Name does not resolve')>]>
Traceback (most recent call last):
  File "/usr/bin/pritunl", line 33, in <module>
    sys.exit(load_entry_point('pritunl==1.32.3897.75', 'console_scripts', 'pritunl')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pritunl-1.32.3897.75-py3.11.egg/pritunl/__main__.py", line 168, in main
    setup.setup_db_host()
  File "/usr/lib/python3.11/site-packages/pritunl-1.32.3897.75-py3.11.egg/pritunl/setup/__init__.py", line 93, in setup_db_host
    setup_mongo()
  File "/usr/lib/python3.11/site-packages/pritunl-1.32.3897.75-py3.11.egg/pritunl/setup/mongo.py", line 351, in setup_mongo
    app_settings = settings_col.find_one({'_id': 'app'})
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pymongo/collection.py", line 1491, in find_one
    for result in cursor.limit(-1):
  File "/usr/lib/python3.11/site-packages/pymongo/cursor.py", line 1280, in next
    if len(self.__data) or self._refresh():
                           ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pymongo/cursor.py", line 1165, in _refresh
    self.__session = self.__collection.database.client._ensure_session()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pymongo/mongo_client.py", line 2027, in _ensure_session
    return self.__start_session(True, causal_consistency=False)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pymongo/mongo_client.py", line 1976, in __start_session
    server_session = self._get_server_session()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pymongo/mongo_client.py", line 2013, in _get_server_session
    return self._topology.get_server_session()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pymongo/topology.py", line 525, in get_server_session
    session_timeout = self._check_session_support()
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pymongo/topology.py", line 507, in _check_session_support
    self._select_servers_loop(
  File "/usr/lib/python3.11/site-packages/pymongo/topology.py", line 226, in _select_servers_loop
    raise ServerSelectionTimeoutError(
pymongo.errors.ServerSelectionTimeoutError: mongo:27017: [Errno -2] Name does not resolve, Timeout: 30.0s, Topology Description: <TopologyDescription id: 664605493d64846a0eaa3bbf, topology_type: Single, servers: [<ServerDescription ('mongo', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mongo:27017: [Errno -2] Name does not resolve')>]>
a-reznic commented 3 months ago

log from db container

t={"$date":"2024-05-16T13:08:07.165+00:00"} s=I c=NETWORK id=4915701 ctx=main msg=Initialized wire specification attr={"spec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":21},"incomingInternalClient":{"minWireVersion":0,"maxWireVersion":21},"outgoing":{"minWireVersion":6,"maxWireVersion":21},"isInternalClient":true}}
t={"$date":"2024-05-16T13:08:07.181+00:00"} s=I c=CONTROL id=23285 ctx=main msg=Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
t={"$date":"2024-05-16T13:08:07.245+00:00"} s=I c=NETWORK id=4648601 ctx=main msg=Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize.
t={"$date":"2024-05-16T13:08:07.263+00:00"} s=I c=REPL id=5123008 ctx=main msg=Successfully registered PrimaryOnlyService attr={"service":"TenantMigrationDonorService","namespace":"config.tenantMigrationDonors"}
t={"$date":"2024-05-16T13:08:07.263+00:00"} s=I c=REPL id=5123008 ctx=main msg=Successfully registered PrimaryOnlyService attr={"service":"TenantMigrationRecipientService","namespace":"config.tenantMigrationRecipients"}
t={"$date":"2024-05-16T13:08:07.263+00:00"} s=I c=CONTROL id=5945603 ctx=main msg=Multi threading initialized
t={"$date":"2024-05-16T13:08:07.263+00:00"} s=I c=TENANT_M id=7091600 ctx=main msg=Starting TenantMigrationAccessBlockerRegistry
t={"$date":"2024-05-16T13:08:07.264+00:00"} s=I c=CONTROL id=4615611 ctx=initandlisten msg=MongoDB starting attr={"pid":1,"port":27017,"dbPath":"/data/db","architecture":"64-bit","host":"pritunldb"}
t={"$date":"2024-05-16T13:08:07.265+00:00"} s=I c=CONTROL id=23403 ctx=initandlisten msg=Build Info attr={"buildInfo":{"version":"7.0.9","gitVersion":"3ff3a3925c36ed277cf5eafca5495f2e3728dd67","openSSLVersion":"OpenSSL 3.0.2 15 Mar 2022","modules":[],"allocator":"tcmalloc","environment":{"distmod":"ubuntu2204","distarch":"x86_64","target_arch":"x86_64"}}}
t={"$date":"2024-05-16T13:08:07.265+00:00"} s=I c=CONTROL id=51765 ctx=initandlisten msg=Operating System attr={"os":{"name":"Ubuntu","version":"22.04"}}
t={"$date":"2024-05-16T13:08:07.265+00:00"} s=I c=CONTROL id=21951 ctx=initandlisten msg=Options set by command line attr={"options":{"net":{"bindIp":"*"}}}
t={"$date":"2024-05-16T13:08:07.269+00:00"} s=I c=STORAGE id=22270 ctx=initandlisten msg=Storage engine to use detected by data files attr={"dbpath":"/data/db","storageEngine":"wiredTiger"}
goofball222 commented 3 months ago

Your error distills down to: error=AutoReconnect('mongo:27017: [Errno -2] Name does not resolve')>]>

The pritunl container can't find the mongodb container by the hostname "mongo" to connect the database. Not sure why that would be failing with the old unmodified example docker-compose.yml, the "links" section should take care of that. I went ahead and updated the example compose files to match the latest compose version(s) and adjusted some naming/linking. Give it a shot with those.

a-reznic commented 3 months ago

I found problem, docker runned on Oracle Cloud with Oracle Server 8.6 with this problem, when I changed to ubuntu, all works fine.