Run up www.tryton.org

I’m still working on Issue - Improve howto develop web page section documentation based on guide to get a basic development environment discussion.

Before to push the next patch to the review I need to do some local testing to check out the result.

I’m trying to get up the www.tryton.org web through docker-compose file in my machine without success.

The last error I’m stack in:

fs.js:27
const { Math, Object } = primordials;
                         ^

ReferenceError: primordials is not defined
    at fs.js:27:26
    at req_ (/web/node_modules/natives/index.js:143:24)
    at Object.req [as require] (/web/node_modules/natives/index.js:55:10)
    at Object.<anonymous> (/web/node_modules/graceful-fs/fs.js:1:37)
    at Module._compile (internal/modules/cjs/loader.js:777:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:788:10)
    at Module.load (internal/modules/cjs/loader.js:643:32)
    at Function.Module._load (internal/modules/cjs/loader.js:556:12)
    at Module.require (internal/modules/cjs/loader.js:683:19)
    at require (internal/modules/cjs/helpers.js:16:16)
ERROR: Service 'website' failed to build: The command '/bin/sh -c node_modules/.bin/gulp' returned a non-zero code: 1 

Some help would be appreciated.

This is because we use a no more supported version of gulp. We did not catch it because the build script did not update the docker images.
I updated the JS dependencies so it should work on latest docker images.

What environment variables and values I have to set in order to charge the static assets to test it out?

I fill a website.env file with

CDN_HTTPS=False
CDN_DOMAIN=localhost

whithout success:

None, you can just leave an empty file.

Not for me… :frowning_face:

website_1  | Traceback (most recent call last):
website_1  |   File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 2446, in wsgi_app
website_1  |     response = self.full_dispatch_request()
website_1  |   File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1951, in full_dispatch_request
website_1  |     rv = self.handle_user_exception(e)
website_1  |   File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1815, in handle_user_exception
website_1  |     return self.handle_http_exception(e)
website_1  |   File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1743, in handle_http_exception
website_1  |     return handler(e)
website_1  |   File "/usr/local/lib/python3.5/dist-packages/flask_caching/__init__.py", line 414, in decorated_function
website_1  |     rv = f(*args, **kwargs)
website_1  |   File "./app.py", line 135, in wrapper
website_1  |     url = cdn_url_for(link.endpoint, *link.args, **link.kwargs)
website_1  |   File "/usr/local/lib/python3.5/dist-packages/flask_cdn.py", line 50, in url_for
website_1  |     urls = app.url_map.bind(app.config['CDN_DOMAIN'], url_scheme=scheme)
website_1  |   File "/usr/local/lib/python3.5/dist-packages/werkzeug/routing.py", line 1441, in bind
website_1  |     server_name = server_name.lower()
website_1  | AttributeError: 'NoneType' object has no attribute 'lower'
website_1  |
website_1  | During handling of the above exception, another exception occurred:
website_1  |
website_1  | Traceback (most recent call last):
website_1  |   File "/usr/lib/python3.5/logging/handlers.py", line 989, in emit
website_1  |     smtp.send_message(msg)
website_1  |   File "/usr/lib/python3.5/smtplib.py", line 961, in send_message
website_1  |     rcpt_options)
website_1  |   File "/usr/lib/python3.5/smtplib.py", line 876, in sendmail
website_1  |     raise SMTPRecipientsRefused(senderrs)
website_1  | smtplib.SMTPRecipientsRefused: {'webmaster@tryton.org': (550, b'5.7.23 <webmaster@tryton.org>: Recipient address rejected: Message rejected due to: SPF fail - not authorized. Please see http://www.openspf.net/Why?s=mfrom;id=www@tryton.org;ip=213.195.117.160;r=<UNKNOWN>')}
website_1  | Call stack:
website_1  |   File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 2463, in __call__
website_1  |     return self.wsgi_app(environ, start_response)
website_1  |   File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 2449, in wsgi_app
website_1  |     response = self.handle_exception(e)
website_1  |   File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1870, in handle_exception
website_1  |     self.log_exception((exc_type, exc_value, tb))
website_1  |   File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1891, in log_exception
website_1  |     "Exception on %s [%s]" % (request.path, request.method), exc_info=exc_info
website_1  | Message: 'Exception on /favicon.ico [GET]'
website_1  | Arguments: ()
website_1  | [pid: 8|app: 0|req: 2/2] 172.19.0.1 () {32 vars in 509 bytes} [Mon Jul 29 19:36:10 2019] GET /favicon.ico => generated 290 bytes in 453 msecs (HTTP/1.1 500) 3 headers in 121 bytes (1 switches on core 2)
website_1  | Mon Jul 29 19:37:14 2019 - worker 1 (pid: 8) is taking too much time to die...NO MERCY !!!
website_1  | worker 1 killed successfully (pid: 8)
website_1  | uWSGI worker 1 cheaped.

I never run under docker for testing so it is not really tested nor supported.
Any way, it should be fixed with http://hg.tryton.org/www.tryton.org/rev/ba7c8d2b15da

Nope. :frowning_face:

But don’t worry anymore. I’ll try to do the work without docker.

Thank you very much.

I tested now (with latest changeset) with en empty website.env file and docker-compose up and it works for me.

Yes. You’re right.

It works like a charm. :grinning:

I guess the last time I test it with the last changeset docker does not rebuild the Dockerfile…

Thanks for your time.