Comments (7)
mysql vs pymysql....That was it.
Thanks for the help!
from docker-firefox-syncserver.
Hi @angdigi, can you create a proper bug report please ?
from docker-firefox-syncserver.
Yes, of course.
Behaviour
Container does not start
Steps to reproduce this issue
- Used crazymax/firefox-syncserver repository
- Entered variables mentioned below
- Execute docker run command
Expected behaviour
Container to start
Actual behaviour
Container does not start
Docker version = 18.09.5
Platform = unraid
Variables = Do you need the specific config?
FF_SYNCSERVER_PUBLIC_URL
FF_SYNCSERVER_SECRET
FF_SYNCSERVER_SQLURI
docker run command output =
docker run -d --name='syncserver' --net='br0' --ip='192.168.70.38' --log-opt max-size='10m' --log-opt max-file='1' -e TZ="America/New_York" -e HOST_OS="Unraid" -e 'FF_SYNCSERVER_PUBLIC_URL'='http://syncserver.servers.local.lan:5000' -e 'FF_SYNCSERVER_SECRET'='SECRETKEY' -e 'FF_SYNCSERVER_SQLURI'='mysql://USERNAME:PASSWORD@MARIADBIPADDRESS:3306/syncserver_db.db' -v '/mnt/user/appdata/syncserver/data/':'/data':'rw' 'crazymax/firefox-syncserver'
3c48c6945cf8d88cb07f95b3dab8df5d004ad0755747de02ad902061199ec8ff
The command finished successfully!
Here are the logs
Setting timezone to America/New_York...
Checking prerequisites...
Generating configuration...
[2019-05-13 22:57:22 +0000] [1] [INFO] Starting gunicorn 19.6.0
[2019-05-13 22:57:22 +0000] [1] [INFO] Listening at: http://0.0.0.0:5000 (1)
[2019-05-13 22:57:22 +0000] [1] [INFO] Using worker: sync
[2019-05-13 22:57:22 +0000] [12] [INFO] Booting worker with pid: 12
[2019-05-13 22:57:23 +0000] [12] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 557, in spawn_worker
worker.init_process()
File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 126, in init_process
self.load_wsgi()
File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 136, in load_wsgi
self.wsgi = self.app.wsgi()
File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 63, in load
return self.load_pasteapp()
File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 59, in load_pasteapp
return load_pasteapp(self.cfgurl, self.relpath, global_conf=None)
File "/usr/local/lib/python2.7/site-packages/gunicorn/app/pasterapp.py", line 69, in load_pasteapp
global_conf=global_conf)
File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 253, in loadapp
return loadobj(APP, uri, name=name, **kw)
File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 278, in loadobj
return context.create()
File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 715, in create
return self.object_type.invoke(self)
File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 152, in invoke
return fix_call(context.object, context.global_conf, **context.local_conf)
File "/usr/local/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
val = callable(*args, **kw)
File "/app/syncserver/__init__.py", line 245, in main
config = get_configurator(global_config, **settings)
File "/app/syncserver/__init__.py", line 237, in get_configurator
config.include(includeme)
File "/usr/local/lib/python2.7/site-packages/pyramid/config/__init__.py", line 754, in include
c(configurator)
File "/app/syncserver/__init__.py", line 136, in includeme
config.include("syncstorage", route_prefix="/storage")
File "/usr/local/lib/python2.7/site-packages/pyramid/config/__init__.py", line 754, in include
c(configurator)
File "/usr/local/lib/python2.7/site-packages/syncstorage/__init__.py", line 18, in includeme
config.include("syncstorage.storage")
File "/usr/local/lib/python2.7/site-packages/pyramid/config/__init__.py", line 754, in include
c(configurator)
File "/usr/local/lib/python2.7/site-packages/syncstorage/storage/__init__.py", line 561, in includeme
storage = load_storage_from_settings("storage", settings)
File "/usr/local/lib/python2.7/site-packages/syncstorage/storage/__init__.py", line 585, in load_storage_from_settings
return klass(**section_settings)
File "/usr/local/lib/python2.7/site-packages/syncstorage/storage/sql/__init__.py", line 130, in __init__
self.dbconnector = DBConnector(sqluri, **dbkwds)
File "/usr/local/lib/python2.7/site-packages/syncstorage/storage/sql/dbconnect.py", line 357, in __init__
self.engine = create_engine(sqluri, **sqlkw)
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/__init__.py", line 387, in create_engine
return strategy.create(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 80, in create
dbapi = dialect_cls.dbapi(**dbapi_args)
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 110, in dbapi
return __import__('MySQLdb')
ImportError: No module named MySQLdb
[2019-05-13 22:57:23 +0000] [12] [INFO] Worker exiting (pid: 12)
[2019-05-13 22:57:23 +0000] [1] [INFO] Shutting down: Master
[2019-05-13 22:57:23 +0000] [1] [INFO] Reason: Worker failed to boot.
from docker-firefox-syncserver.
Your docker run command looks malformed (quotes), try this one :
docker run -d --name syncserver \
--net br0 \
--ip 192.168.70.38 \
--log-opt max-size 10m \
--log-opt max-file 1 \
-e "TZ=America/New_York" \
-e "HOST_OS=Unraid" \
-e "FF_SYNCSERVER_PUBLIC_URL=http://syncserver.servers.local.lan:5000" \
-e "FF_SYNCSERVER_SECRET=SECRETKEY" \
-e "FF_SYNCSERVER_SQLURI=mysql://USERNAME:PASSWORD@MARIADBIPADDRESS:3306/syncserver_db.db" \
-v "/mnt/user/appdata/syncserver/data/:/data:rw" \
crazymax/firefox-syncserver
Also your mysql schema syncserver_db.db
looks wrong and do you have any spaces or commas or other control characters around the value of FF_SYNCSERVER_SECRET
?
from docker-firefox-syncserver.
Hmm. Well, I can't change the docker run command. That's controlled by unraid, specifically dockerman which is a gui. I just input the specific variables in the appropriate fields.
I removed the ".db" from the sqluri. Also, don't have any spaces, commas, or control characters...just letters and numbers.
EDIT: I can change the variables of the docker run command, but not the formatting.
from docker-firefox-syncserver.
I'm not familiar with unraid environments but sqluri integration is available since #5. Maybe @jerheij can help us here.
from docker-firefox-syncserver.
What I noticed is that you have the following sqluri:
FF_SYNCSERVER_SQLURI=mysql://USERNAME:PASSWORD@MARIADBIPADDRESS:3306/syncserver_db.db
While my config contains the following sqluri:
FF_SYNCSERVER_SQLURI=pymysql://user:password@mysql_server_ip/db_name
Maybe that's the issue?
from docker-firefox-syncserver.
Related Issues (20)
- Healthy error after latest image update, no problems before. HOT 9
- Doesn't launch on a raspberry pi 3B + HOT 2
- Mariadb support HOT 3
- ConnectionError: Failed to GET https://api.accounts.firefox.com/.well-known/browserid. HOT 4
- SQLite unable to open database file HOT 2
- Doesnโt sync with iOS only with desktop HOT 2
- Improve with account server? HOT 5
- [question] difference your image vs Mozilla official? HOT 2
- [request] Point to a secret key file instead of writing it in docker-compose.yml HOT 3
- [Question] How to check if browser actually syncs with my server? HOT 5
- SyncStorage now available HOT 1
- Installation success, but Firefox Android 82.1.3 not syncing HOT 1
- [idea] add Caddy to examples HOT 1
- [Question] How to check how many/what accounts are linked? HOT 1
- WARNING:mozsvc.user:Authentication Failed: invalid hawk signature HOT 4
- Python error with latest version
- The public_url setting doesn't match the application url
- forwarded_allow_ips variable not applied to gunicorn launch HOT 1
- Container Cannot Connect With api.accounts.firefox.com, Sync Nonfunctional HOT 6
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 docker-firefox-syncserver.