Giter Site home page Giter Site logo

sebo-b / warp Goto Github PK

View Code? Open in Web Editor NEW
131.0 9.0 56.0 3.53 MB

Workspace Autonomous Reservation Program - a system to help you efficiently manage hybrid (assigned, hot-desks, etc) office space.

License: MIT License

Python 22.93% JavaScript 49.18% CSS 2.06% HTML 15.66% PLpgSQL 1.37% Dockerfile 0.40% SCSS 8.40%
workspace booking reservation desk wfh coworking-space-management python flask peewee-orm

warp's People

Contributors

a-bertil avatar aileo avatar dreadnoth avatar echu2013 avatar gjacquenot avatar mpolitze avatar n-rodrig avatar sebo-b avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

warp's Issues

Is the project open to PRs ?

Hello,

First, thank you for this great project.

I deployed it in our little company as we do part time remote and we do not have enough desk on-site for everyone to come at once.

I developed several features to match our needs, and I tried to keep them as generic as I could so I would like to know if you were interested in pull requests for some of them :

  • Weekdays omission, hide some weekdays based on an environment variable, useful to hide weekends in the list (and optimize screen use).
  • Opening hours, restrains the time slider to a min and max values based on two environment variables.
  • Mixed group zones, add an optional group override on seats to handle them as part of a different group than their parent zone.
    Used to separate callpods and meeting rooms from open-space desks in the same floor so you don't have to "release" the open-space desk while in a meeting or call.
    It does not affect the behavior if no seat group is set.
  • Azure AD / Microsoft Entra Authentication, use SSO with Microsoft account and synchronize groups just like LDAP.

Disclaimer : I am not familiar with python so some of the code might be awful...

libpcre.so.3: cannot open shared object

when i try to run i have

warp-demo-wsgi-1 | uwsgi: error while loading shared libraries: libpcre.so.3: cannot open shared object file: No such file or directory

Multiple date editing tries to remove booking not belonging to the current user

Hello,

It seems that editing multiple date does not perform proper checking about whose booking is edited.

Considering the following bookings:

  • Foo has a booking for seat 1.3 on 2024-05-17 09:00-17:00
  • Bar has a booking for the same seat, on 2024-05-20 09:00-17:00

In this configuration, if Bar tries to book any seat for both dates, the application tries to remove the booking of Foo, resulting in a "You don't have required permissions in the zone. (102)" error.

I believe this is the same bug as reported by #40

Thanks,

Need help with AD

Hi, could I get your help setting up the AD integration for a "beer at Paypal or something ;-)"? Unfortunately we can't get it done (for whatever reason). We followed the documentation but it doesn't work.

Thanks best regards

LDAP configuration

👋

I would like to setup the LDAP authentification.

I usually have a bind_cn and a password fields to provide but I don't know where to set it in warp configuration.

The bind_cn field looks generally like that: (bind_dn: 'CN=my_Ldap,OU=my_ou,DC=my_domain,DC=com')

Any help would highly be appreciated!

Guillaume

Seat stays booked after time slot elapses

Hi,

Thanks for this project. I was wondering if there was a way for the seats to be freed after the time slot elapses. As of now, it stays booked even after the time-slot has elapsed.

Cannot build demo quickstart because of error related to buildkit

Hi,
I'm unable to docker-compose the demo, I get the following error:
ERROR: Service 'warp-demo-wsgi' failed to build: the --mount option requires BuildKit. Refer to https://docs.docker.com/go/buildkit/ to learn how to build images with BuildKit enabled
I'm using a Ubuntu 20.04.

Tried to set env DOCKER_BUILDKIT=1 but I must be missing something.

Any advice? Thank you.

Docker install failed

After following the docker setup instructions in the readme, an error showed up:

python setup.py bdist_wheel -d wheel:
/usr/local/lib/python3.11/site-packages/setuptools/dist.py:548: UserWarning: The version specified ('2.0-rolling') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details.

To finish installing, change the version param in setup.py from 2.0-rolling to 2.0.

I'm using MacOSX Ventura 13.1; Docker 4.16.2.

error while loading shared libraries: libpcre.so.3

I just checked through the closed issues as well and the ReadMe one more time. However if I get it right, in order to testdrive I would just need to clone the repo and spin up the demo_compose.

Used a fresh debian VM. Got error.

warp-warp-demo-wsgi-1   | uwsgi: error while loading shared libraries: libpcre.so.3: cannot open shared object file: No such file or directory

What am I missing?

WARP without Docer

Hello Sebo-b

thanks for your previous answer.

Is there a way to install and use WARP without Docker?

error while loading shared libraries: libpcre.so.3

Sorry, but the error persists. I just tried to get it working but got the same error.
I used a fresh debian inside proxmox. The hints from the closed issue regarding the same problem did not help.
Do you have an idea what to do?
Kind regards
Tueftler

Active Directory access

Hi is possible to add non non anonymous binds
i need to use
RootDN and passwort to access.

Duplicate Account Creation Possible when used with LDAP

When using an LDAP server as the authentication provider, duplicate user accounts can be created inside Warp.

By default, the user's DN is case-insensitive (this can be defined in the LDAP schema). Thus, the user can sign in successfully with any combination of capital and lowercase letters matching his username. For example, Username, userName, and username are all valid and accepted. However, as Warp stores the username in a case-sensitive manner, this allows the creation of multiple accounts within Warp for the same LDAP user.

Treating the username as lowercase by default (i.e., by calling .lower() on the login argument) solves the issue. Nevertheless, I don't know if that is the best solution. For the case where the LDAP DN is case-sensitive, this solution will result in different usernames stored with Postgres. If .lower() is executed before calling the LDAP server, as shown below, this will result in an authentication error if the DN includes any capital letter.

Possible Solution

--- a/warp/auth_ldap.py
+++ b/warp/auth_ldap.py
@@ -207,7 +207,7 @@ def login():
 
     if flask.request.method == 'POST':
 
-        u = flask.request.form.get('login')
+        u = flask.request.form.get('login').lower()
         p = flask.request.form.get('password')
 
         LDAP_EXCLUDED_USERS = flask.current_app.config.get('LDAP_EXCLUDED_USERS', [])

Docker - demo issue

Hi. I was trying to start demo with docker but I got the below error.

uwsgi: error while loading shared libraries: libpcre.so.3: cannot open shared object file: No such file or directory

Wokrspaces for a month

First I would like to thank you after a bit of back and forth I managed to get Warp running.

Is there the possibility in the zone also like selection of the date to extend to a month so that you can see directly the whole month and book workplaces

i18n

Hi, whenever I have set, like the doku says, the language in the WARP_LANGUAGE_FILE and restarted the app with a "custom" language (german in this case), all entries and links disappear. Unfortunately, the app does not load the additional i18n file. Do you have an idea what could be causing this?

ERROR [warp-demo-wsgi compile-image 7/19] RUN pip install --upgrade setuptools && pip install wheel uwsgi

On doing a fresh sync and build. I'm getting the following error

docker compose -f demo_compose.yaml up
[+] Building 65.2s (10/27)                                                                                                                                                                                                                                                                               docker:default
[+] Building 68.0s (11/27)                                                                                                                                                                                                                                                                               docker:default
 => [warp-demo-wsgi internal] load build definition from Dockerfile                                                                                                                                                                                                                                                0.1s
 => => transferring dockerfile: 1.77kB                                                                                                                                                                                                                                                                             0.0s
 => [warp-demo-wsgi internal] load .dockerignore                                                                                                                                                                                                                                                                   0.2s
 => => transferring context: 2B                                                                                                                                                                                                                                                                                    0.0s
 => [warp-demo-wsgi internal] load metadata for docker.io/library/python:3-slim                                                                                                                                                                                                                                    0.7s
 => [warp-demo-wsgi internal] load build context                                                                                                                                                                                                                                                                   0.2s
 => => transferring context: 4.21MB                                                                                                                                                                                                                                                                                0.1s
 => [warp-demo-wsgi compile-image  1/19] FROM docker.io/library/python:3-slim@sha256:43a49c9cc2e614468e3d1a903aabe17a97a4c788c76cf5337b5cdc3535b07d4f                                                                                                                                                              0.0s
 => CACHED [warp-demo-wsgi compile-image  2/19] WORKDIR /opt/warp                                                                                                                                                                                                                                                  0.0s
 => CACHED [warp-demo-wsgi compile-image  3/19] RUN apt-get update                                                                                                                                                                                                                                                 0.0s
 => [warp-demo-wsgi compile-image  4/19] RUN mkdir debs &&     apt-get install -y -d --no-install-recommends libpq5 mime-support &&     cp /var/cache/apt/archives/*deb debs                                                                                                                                       2.8s
 => [warp-demo-wsgi compile-image  5/19] RUN     apt-get install -y wget &&     NODE_ARCH=$(uname -m | sed 's/^x86_64\|amd64$/x64/;s/^i.*86$/x86/;s/^aarch64$/arm64/') &&     NODE_URL="https://nodejs.org/dist/v16.3.0/node-v16.3.0-linux-${NODE_ARCH}.tar.gz" &&     wget -O - "$NODE_URL" | tar -xz --strip-co  7.1s
 => [warp-demo-wsgi compile-image  6/19] RUN apt-get install -y build-essential libpq-dev libpcre3 libpcre3-dev                                                                                                                                                                                                   47.7s
 => ERROR [warp-demo-wsgi compile-image  7/19] RUN pip install --upgrade setuptools && pip install wheel uwsgi                                                                                                                                                                                                     9.0s
------
 > [warp-demo-wsgi compile-image  7/19] RUN pip install --upgrade setuptools && pip install wheel uwsgi:
2.389 Requirement already satisfied: setuptools in /usr/local/lib/python3.12/site-packages (68.2.2)
3.128 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
3.951 Requirement already satisfied: wheel in /usr/local/lib/python3.12/site-packages (0.41.2)
4.069 Collecting uwsgi
4.256   Downloading uwsgi-2.0.22.tar.gz (809 kB)
4.386      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 809.7/809.7 kB 6.7 MB/s eta 0:00:00
4.553   Preparing metadata (setup.py): started
5.081   Preparing metadata (setup.py): finished with status 'done'
5.101 Building wheels for collected packages: uwsgi
5.102   Building wheel for uwsgi (setup.py): started
7.877   Building wheel for uwsgi (setup.py): finished with status 'error'
7.976   error: subprocess-exited-with-error
7.976
7.976   × python setup.py bdist_wheel did not run successfully.
7.976   │ exit code: 1
7.976   ╰─> [317 lines of output]
7.976       /usr/local/lib/python3.12/site-packages/setuptools/_distutils/dist.py:265: UserWarning: Unknown distribution option: 'descriptions'
7.976         warnings.warn(msg)
7.976       running bdist_wheel
7.976       running build
7.976       running build_py
7.976       creating build
7.976       creating build/lib
7.976       copying uwsgidecorators.py -> build/lib
7.976       /usr/local/lib/python3.12/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
7.976       !!
7.976
7.976               ********************************************************************************
7.976               Please avoid running ``setup.py`` directly.
7.976               Instead, use pypa/build, pypa/installer or other
7.976               standards-based tools.
7.976
7.976               See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
7.976               ********************************************************************************
7.976
7.976       !!
7.976         self.initialize_options()
7.976       installing to build/bdist.linux-x86_64/wheel
7.976       running install
7.976       using profile: buildconf/default.ini
7.976       detected include path: ['/usr/lib/gcc/x86_64-linux-gnu/12/include', '/usr/local/include', '/usr/include/x86_64-linux-gnu', '/usr/include']
7.976       Patching "bin_name" to properly install_scripts dir
7.976       detected CPU cores: 32
7.976       configured CFLAGS: -O2 -I. -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -DUWSGI_HAS_IFADDRS -DUWSGI_LOCK_USE_MUTEX -DUWSGI_EVENT_USE_EPOLL -DUWSGI_EVENT_TIMER_USE_TIMERFD -DUWSGI_EVENT_FILEMONITOR_USE_INOTIFY  -DUWSGI_PCRE -DUWSGI_ROUTING -DUWSGI_VERSION="\"2.0.22\"" -DUWSGI_VERSION_BASE="2" -DUWSGI_VERSION_MAJOR="0" -DUWSGI_VERSION_MINOR="22" -DUWSGI_VERSION_REVISION="0" -DUWSGI_VERSION_CUSTOM="\"\"" -DUWSGI_YAML -DUWSGI_SSL -DUWSGI_PLUGIN_DIR="\".\"" -DUWSGI_DECLARE_EMBEDDED_PLUGINS="UDEP(python);UDEP(gevent);UDEP(ping);UDEP(cache);UDEP(nagios);UDEP(rrdtool);UDEP(carbon);UDEP(rpc);UDEP(corerouter);UDEP(fastrouter);UDEP(http);UDEP(ugreen);UDEP(signal);UDEP(syslog);UDEP(rsyslog);UDEP(logsocket);UDEP(router_uwsgi);UDEP(router_redirect);UDEP(router_basicauth);UDEP(zergpool);UDEP(redislog);UDEP(mongodblog);UDEP(router_rewrite);UDEP(router_http);UDEP(logfile);UDEP(router_cache);UDEP(rawrouter);UDEP(router_static);UDEP(sslrouter);UDEP(spooler);UDEP(cheaper_busyness);UDEP(symcall);UDEP(transformation_tofile);UDEP(transformation_gzip);UDEP(transformation_chunked);UDEP(transformation_offload);UDEP(router_memcached);UDEP(router_redis);UDEP(router_hash);UDEP(router_expires);UDEP(router_metrics);UDEP(transformation_template);UDEP(stats_pusher_socket);" -DUWSGI_LOAD_EMBEDDED_PLUGINS="ULEP(python);ULEP(gevent);ULEP(ping);ULEP(cache);ULEP(nagios);ULEP(rrdtool);ULEP(carbon);ULEP(rpc);ULEP(corerouter);ULEP(fastrouter);ULEP(http);ULEP(ugreen);ULEP(signal);ULEP(syslog);ULEP(rsyslog);ULEP(logsocket);ULEP(router_uwsgi);ULEP(router_redirect);ULEP(router_basicauth);ULEP(zergpool);ULEP(redislog);ULEP(mongodblog);ULEP(router_rewrite);ULEP(router_http);ULEP(logfile);ULEP(router_cache);ULEP(rawrouter);ULEP(router_static);ULEP(sslrouter);ULEP(spooler);ULEP(cheaper_busyness);ULEP(symcall);ULEP(transformation_tofile);ULEP(transformation_gzip);ULEP(transformation_chunked);ULEP(transformation_offload);ULEP(router_memcached);ULEP(router_redis);ULEP(router_hash);ULEP(router_expires);ULEP(router_metrics);ULEP(transformation_template);ULEP(stats_pusher_socket);"
7.976       *** uWSGI compiling server core ***
7.976       [thread 0][gcc] core/utils.o
7.976       [thread 1][gcc] core/protocol.o
7.976       [thread 4][gcc] core/socket.o
7.976       [thread 2][gcc] core/logging.o
7.976       [thread 8][gcc] core/master.o
7.976       [thread 6][gcc] core/master_utils.o
7.976       [thread 9][gcc] core/emperor.o
7.976       [thread 5][gcc] core/notify.o
7.976       [thread 3][gcc] core/mule.o
7.976       [thread 11][gcc] core/subscription.o
7.976       [thread 10][gcc] core/stats.o
7.976       [thread 13][gcc] core/sendfile.o
7.976       [thread 12][gcc] core/async.o
7.976       [thread 16][gcc] core/master_checks.o
7.976       [thread 14][gcc] core/fifo.o
7.976       [thread 15][gcc] core/offload.o
7.976       [thread 17][gcc] core/io.o
7.976       [thread 18][gcc] core/static.o
7.976       [thread 20][gcc] core/websockets.o
7.976       [thread 19][gcc] core/spooler.o
7.976       [thread 21][gcc] core/snmp.o
7.976       [thread 22][gcc] core/exceptions.o
7.976       [thread 23][gcc] core/config.o
7.976       [thread 26][gcc] core/setup_utils.o
7.976       [thread 25][gcc] core/clock.o
7.976       [thread 27][gcc] core/init.o
7.976       [thread 28][gcc] core/buffer.o
7.976       [thread 29][gcc] core/reader.o
7.976       [thread 24][gcc] core/writer.o
7.976       [thread 30][gcc] core/alarm.o
7.976       [thread 7][gcc] core/cron.o
7.976       [thread 31][gcc] core/hooks.o
7.976       [thread 13][gcc] core/plugins.o
7.976       [thread 5][gcc] core/lock.o
7.976       [thread 25][gcc] core/cache.o
7.976       [thread 26][gcc] core/daemons.o
7.976       [thread 12][gcc] core/errors.o
7.976       [thread 21][gcc] core/hash.o
7.976       [thread 22][gcc] core/master_events.o
7.976       [thread 16][gcc] core/chunked.o
7.976       [thread 27][gcc] core/queue.o
7.976       [thread 18][gcc] core/event.o
7.976       [thread 3][gcc] core/signal.o
7.976       [thread 14][gcc] core/strings.o
7.976       [thread 10][gcc] core/progress.o
7.976       [thread 20][gcc] core/timebomb.o
7.976       [thread 1][gcc] core/ini.o
7.976       [thread 15][gcc] core/fsmon.o
7.976       core/lock.c: In function ‘uwsgi_lock_fast_init’:
7.976       core/lock.c:114:17: warning: ‘pthread_mutexattr_setrobust_np’ is deprecated: pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust [-Wdeprecated-declarations]
7.976         114 |                 if (pthread_mutexattr_setrobust(&attr, PTHREAD_MUTEX_ROBUST)) {
7.976             |                 ^~
7.976       In file included from /usr/include/features.h:489,
7.976                        from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
7.976                        from /usr/include/stdio.h:27,
7.976                        from ./uwsgi.h:165,
7.976                        from core/lock.c:1:
7.976       /usr/include/pthread.h:951:12: note: declared here
7.976         951 | extern int __REDIRECT_NTH (pthread_mutexattr_setrobust_np,
7.976             |            ^~~~~~~~~~~~~~
7.976       core/lock.c: In function ‘uwsgi_lock_fast’:
7.976       core/lock.c:176:17: warning: ‘pthread_mutex_consistent_np’ is deprecated: pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent [-Wdeprecated-declarations]
7.976         176 |                 pthread_mutex_consistent((pthread_mutex_t *) uli->lock_ptr);
7.976             |                 ^~~~~~~~~~~~~~~~~~~~~~~~
7.976       /usr/include/pthread.h:859:12: note: declared here
7.976         859 | extern int __REDIRECT_NTH (pthread_mutex_consistent_np, (pthread_mutex_t *),
7.976             |            ^~~~~~~~~~~~~~
7.976       [thread 30][gcc] core/mount.o
7.976       [thread 29][gcc] core/metrics.o
7.976       [thread 11][gcc] core/plugins_builder.o
7.976       [thread 7][gcc] core/sharedarea.o
7.976       [thread 31][gcc] core/rpc.o
7.976       [thread 8][gcc] core/gateway.o
7.976       [thread 23][gcc] core/loop.o
7.976       [thread 24][gcc] core/cookie.o
7.976       [thread 28][gcc] core/querystring.o
7.976       [thread 13][gcc] core/rb_timers.o
7.976       [thread 12][gcc] core/transformations.o
7.976       [thread 5][gcc] core/uwsgi.o
7.976       [thread 21][gcc] proto/base.o
7.976       [thread 17][gcc] proto/uwsgi.o
7.976       [thread 27][gcc] proto/http.o
7.976       [thread 19][gcc] proto/fastcgi.o
7.976       [thread 22][gcc] proto/scgi.o
7.976       [thread 16][gcc] proto/puwsgi.o
7.976       [thread 10][gcc] lib/linux_ns.o
7.976       [thread 20][gcc] core/regexp.o
7.976       [thread 26][gcc] core/routing.o
7.976       [thread 11][gcc] core/yaml.o
7.976       [thread 30][gcc] core/ssl.o
7.976       [thread 18][gcc] core/legion.o
7.976       [thread 14][gcc] core/dot_h.o
7.976       [thread 4][gcc] core/config_py.o
7.976       *** uWSGI compiling embedded plugins ***
7.976       [thread 24][gcc] plugins/python/python_plugin.o
7.976       [thread 1][gcc] plugins/python/pyutils.o
7.976       [thread 8][gcc] plugins/python/pyloader.o
7.976       [thread 28][gcc] plugins/python/wsgi_handlers.o
7.976       [thread 14][gcc] plugins/python/wsgi_headers.o
7.976       [thread 2][gcc] plugins/python/wsgi_subhandler.o
7.976       [thread 31][gcc] plugins/python/web3_subhandler.o
7.976       [thread 23][gcc] plugins/python/pump_subhandler.o
7.976       [thread 12][gcc] plugins/python/gil.o
7.976       [thread 6][gcc] plugins/python/uwsgi_pymodule.o
7.976       [thread 4][gcc] plugins/python/profiler.o
7.976       [thread 15][gcc] plugins/python/symimporter.o
7.976       [thread 17][gcc] plugins/python/tracebacker.o
7.976       [thread 13][gcc] plugins/python/raw.o
7.976       [thread 16][gcc] plugins/gevent/gevent.o
7.976       core/ssl.c: In function ‘uwsgi_ssl_new_server_context’:
7.976       [thread 22][gcc] plugins/gevent/hooks.o
7.976       core/ssl.c:268:17: warning: ‘PEM_read_bio_DHparams’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
7.976         268 |                 DH *dh = PEM_read_bio_DHparams(bio, NULL, NULL, NULL);
7.976             |                 ^~
7.976       In file included from /usr/include/openssl/ssl.h:36,
7.976                        from ./uwsgi.h:357,
7.976                        from core/ssl.c:1:
7.976       /usr/include/openssl/pem.h:469:1: note: declared here
7.976         469 | DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, DHparams, DH)
7.976             | ^~~~~~~~~~~~~~~~~~~
7.976       core/ssl.c:273:25: warning: ‘DH_free’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
7.976         273 |                         DH_free(dh);
7.976             |                         ^~~~~~~
7.976       In file included from /usr/include/openssl/dsa.h:51,
7.976                        from /usr/include/openssl/x509.h:37,
7.976                        from /usr/include/openssl/ssl.h:31:
7.976       /usr/include/openssl/dh.h:200:28: note: declared here
7.976         200 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);
7.976             |                            ^~~~~~~
7.976       core/ssl.c:279:9: warning: ‘EC_KEY_new_by_curve_name’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
7.976         279 |         EC_KEY *ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
7.976             |         ^~~~~~
7.976       In file included from /usr/include/openssl/x509.h:33:
7.976       /usr/include/openssl/ec.h:998:31: note: declared here
7.976         998 | OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_by_curve_name(int nid);
7.976             |                               ^~~~~~~~~~~~~~~~~~~~~~~~
7.976       core/ssl.c:283:17: warning: ‘EC_KEY_free’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
7.976         283 |                 EC_KEY_free(ecdh);
7.976             |                 ^~~~~~~~~~~
7.976       /usr/include/openssl/ec.h:1003:28: note: declared here
7.976        1003 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
7.976             |                            ^~~~~~~~~~~
7.976       core/ssl.c: In function ‘uwsgi_sha1’:
7.976       core/ssl.c:563:9: warning: ‘SHA1_Init’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
7.976         563 |         SHA1_Init(&sha);
7.976             |         ^~~~~~~~~
7.976       In file included from /usr/include/openssl/x509.h:41:
7.976       /usr/include/openssl/sha.h:49:27: note: declared here
7.976          49 | OSSL_DEPRECATEDIN_3_0 int SHA1_Init(SHA_CTX *c);
7.976             |                           ^~~~~~~~~
7.976       core/ssl.c:564:9: warning: ‘SHA1_Update’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
7.976         564 |         SHA1_Update(&sha, src, len);
7.976             |         ^~~~~~~~~~~
7.976       /usr/include/openssl/sha.h:50:27: note: declared here
7.976          50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
7.976             |                           ^~~~~~~~~~~
7.976       core/ssl.c:565:9: warning: ‘SHA1_Final’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
7.976         565 |         SHA1_Final((unsigned char *)dst, &sha);
7.976             |         ^~~~~~~~~~
7.976       /usr/include/openssl/sha.h:51:27: note: declared here
7.976          51 | OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c);
7.976             |                           ^~~~~~~~~~
7.976       core/ssl.c: In function ‘uwsgi_md5’:
7.976       core/ssl.c:571:9: warning: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
7.976         571 |         MD5_Init(&md5);
7.976             |         ^~~~~~~~
7.976       In file included from core/ssl.c:4:
7.976       /usr/include/openssl/md5.h:49:27: note: declared here
7.976          49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
7.976             |                           ^~~~~~~~
7.976       core/ssl.c:572:9: warning: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
7.976         572 |         MD5_Update(&md5, src, len);
7.976             |         ^~~~~~~~~~
7.976       /usr/include/openssl/md5.h:50:27: note: declared here
7.976          50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
7.976             |                           ^~~~~~~~~~
7.976       core/ssl.c:573:9: warning: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
7.976         573 |         MD5_Final((unsigned char *)dst, &md5);
7.976             |         ^~~~~~~~~
7.976       /usr/include/openssl/md5.h:51:27: note: declared here
7.976          51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
7.976             |                           ^~~~~~~~~
7.976       core/ssl.c: In function ‘uwsgi_sha1_2n’:
7.976       core/ssl.c:579:9: warning: ‘SHA1_Init’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
7.976         579 |         SHA1_Init(&sha);
7.976             |         ^~~~~~~~~
7.976       /usr/include/openssl/sha.h:49:27: note: declared here
7.976          49 | OSSL_DEPRECATEDIN_3_0 int SHA1_Init(SHA_CTX *c);
7.976             |                           ^~~~~~~~~
7.976       core/ssl.c:580:9: warning: ‘SHA1_Update’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
7.976         580 |         SHA1_Update(&sha, s1, len1);
7.976             |         ^~~~~~~~~~~
7.976       /usr/include/openssl/sha.h:50:27: note: declared here
7.976          50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
7.976             |                           ^~~~~~~~~~~
7.976       core/ssl.c:581:9: warning: ‘SHA1_Update’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
7.976         581 |         SHA1_Update(&sha, s2, len2);
7.976             |         ^~~~~~~~~~~
7.976       /usr/include/openssl/sha.h:50:27: note: declared here
7.976          50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
7.976             |                           ^~~~~~~~~~~
7.976       core/ssl.c:582:9: warning: ‘SHA1_Final’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
7.976         582 |         SHA1_Final((unsigned char *)dst, &sha);
7.976             |         ^~~~~~~~~~
7.976       /usr/include/openssl/sha.h:51:27: note: declared here
7.976          51 | OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c);
7.976             |                           ^~~~~~~~~~
7.976       [thread 19][gcc] plugins/ping/ping_plugin.o
7.976       [thread 10][gcc] plugins/cache/cache.o
7.976       [thread 7][gcc] plugins/nagios/nagios.o
7.976       [thread 20][gcc] plugins/rrdtool/rrdtool.o
7.976       [thread 9][gcc] plugins/carbon/carbon.o
7.976       [thread 3][gcc] plugins/rpc/rpc_plugin.o
7.976       [thread 21][gcc] plugins/corerouter/cr_common.o
7.976       plugins/python/python_plugin.c:138:9: warning: ‘Py_NoSiteFlag’ is deprecated [-Wdeprecated-declarations]
7.976         138 |         {"no-site", no_argument, 0, "do not import site module", uwsgi_opt_true, &Py_NoSiteFlag, 0},
7.976             |         ^
7.976       In file included from /usr/local/include/python3.12/Python.h:48,
7.976                        from plugins/python/uwsgi_python.h:4,
7.976                        from plugins/python/python_plugin.c:1:
7.976       /usr/local/include/python3.12/cpython/pydebug.h:14:37: note: declared here
7.976          14 | Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_NoSiteFlag;
7.976             |                                     ^~~~~~~~~~~~~
7.976       plugins/python/python_plugin.c: In function ‘uwsgi_python_init’:
7.976       plugins/python/python_plugin.c:239:17: warning: ‘Py_SetPythonHome’ is deprecated [-Wdeprecated-declarations]
7.976         239 |                 Py_SetPythonHome(wpyhome);
7.976             |                 ^~~~~~~~~~~~~~~~
7.976       In file included from /usr/local/include/python3.12/Python.h:94:
7.976       /usr/local/include/python3.12/pylifecycle.h:40:38: note: declared here
7.976          40 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetPythonHome(const wchar_t *);
7.976             |                                      ^~~~~~~~~~~~~~~~
7.976       plugins/python/python_plugin.c:263:9: warning: ‘Py_SetProgramName’ is deprecated [-Wdeprecated-declarations]
7.976         263 |         Py_SetProgramName(pname);
7.976             |         ^~~~~~~~~~~~~~~~~
7.976       /usr/local/include/python3.12/pylifecycle.h:37:38: note: declared here
7.976          37 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetProgramName(const wchar_t *);
7.976             |                                      ^~~~~~~~~~~~~~~~~
7.976       plugins/python/python_plugin.c:269:9: warning: ‘Py_OptimizeFlag’ is deprecated [-Wdeprecated-declarations]
7.976         269 |         Py_OptimizeFlag = up.optimize;
7.976             |         ^~~~~~~~~~~~~~~
7.976       /usr/local/include/python3.12/cpython/pydebug.h:13:37: note: declared here
7.976          13 | Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_OptimizeFlag;
7.976             |                                     ^~~~~~~~~~~~~~~
7.976       plugins/python/pyutils.c: In function ‘init_pyargv’:
7.976       plugins/python/pyutils.c:391:9: warning: ‘PySys_SetArgv’ is deprecated [-Wdeprecated-declarations]
7.976         391 |         PySys_SetArgv(up.argc, up.py_argv);
7.976             |         ^~~~~~~~~~~~~
7.976       In file included from /usr/local/include/python3.12/Python.h:96,
7.976                        from plugins/python/uwsgi_python.h:4,
7.976                        from plugins/python/pyutils.c:1:
7.976       /usr/local/include/python3.12/sysmodule.h:13:38: note: declared here
7.976          13 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) PySys_SetArgv(int, wchar_t **);
7.976             |                                      ^~~~~~~~~~~~~
7.976       [thread 11][gcc] plugins/corerouter/cr_map.o
7.976       plugins/python/python_plugin.c: In function ‘uwsgi_python_pre_uwsgi_fork’:
7.976       plugins/python/python_plugin.c:1327:17: error: too few arguments to function ‘_PyImport_AcquireLock’
7.976        1327 |                 _PyImport_AcquireLock();
7.976             |                 ^~~~~~~~~~~~~~~~~~~~~
7.976       In file included from /usr/local/include/python3.12/import.h:91,
7.976                        from /usr/local/include/python3.12/Python.h:99:
7.976       /usr/local/include/python3.12/cpython/import.h:13:18: note: declared here
7.976          13 | PyAPI_FUNC(void) _PyImport_AcquireLock(PyInterpreterState *interp);
7.976             |                  ^~~~~~~~~~~~~~~~~~~~~
7.976       plugins/python/python_plugin.c: In function ‘uwsgi_python_post_uwsgi_fork’:
7.976       plugins/python/python_plugin.c:1339:25: error: too few arguments to function ‘_PyImport_ReleaseLock’
7.976        1339 |                         _PyImport_ReleaseLock();
7.976             |                         ^~~~~~~~~~~~~~~~~~~~~
7.976       /usr/local/include/python3.12/cpython/import.h:14:17: note: declared here
7.976          14 | PyAPI_FUNC(int) _PyImport_ReleaseLock(PyInterpreterState *interp);
7.976             |                 ^~~~~~~~~~~~~~~~~~~~~
7.976       plugins/python/python_plugin.c: In function ‘uwsgi_python_suspend’:
7.976       plugins/python/python_plugin.c:1596:78: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_remaining’; did you mean ‘c_recursion_remaining’?
7.976        1596 |                 up.current_recursion_remaining[wsgi_req->async_id] = tstate->recursion_remaining;
7.976             |                                                                              ^~~~~~~~~~~~~~~~~~~
7.976             |                                                                              c_recursion_remaining
7.976       plugins/python/python_plugin.c:1605:63: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_remaining’; did you mean ‘c_recursion_remaining’?
7.976        1605 |                 up.current_main_recursion_remaining = tstate->recursion_remaining;
7.976             |                                                               ^~~~~~~~~~~~~~~~~~~
7.976             |                                                               c_recursion_remaining
7.976       plugins/python/python_plugin.c: In function ‘uwsgi_python_resume’:
7.976       plugins/python/python_plugin.c:1839:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_remaining’; did you mean ‘c_recursion_remaining’?
7.976        1839 |                 tstate->recursion_remaining = up.current_recursion_remaining[wsgi_req->async_id];
7.976             |                         ^~~~~~~~~~~~~~~~~~~
7.976             |                         c_recursion_remaining
7.976       plugins/python/python_plugin.c:1848:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_remaining’; did you mean ‘c_recursion_remaining’?
7.976        1848 |                 tstate->recursion_remaining = up.current_main_recursion_remaining;
7.976             |                         ^~~~~~~~~~~~~~~~~~~
7.976             |                         c_recursion_remaining
7.976       [end of output]
7.976
7.976   note: This error originates from a subprocess, and is likely not a problem with pip.
7.976   ERROR: Failed building wheel for uwsgi
7.976   Running setup.py clean for uwsgi
8.240 Failed to build uwsgi
8.241 ERROR: Could not build wheels for uwsgi, which is required to install pyproject.toml-based projects
------
failed to solve: process "/bin/sh -c pip install --upgrade setuptools && pip install wheel uwsgi" did not complete successfully: exit code: 1

Any clue on what could be going wrong?

unsupported hash type MD4 ldap

Error: unsupported hash type MD4 if you are using ldap with AD
Problem: OpenSSL is not providing md4 algorithm anymore
Solution: hashlib can use the Crypto module with pycryptodome you have to add pycryptodome to requirements.txt

Error HTTP500 with the Demo quickstart

Hi,
I want to try WARP on my computer. I followed the doc here ; https://github.com/sebo-b/warp#demo-quickstart

I did the git clone without any errors.

When I executed the docker compose I got an error HTTP 500 on the url http://127.0.0.1:8080/

Here are the traces:

(base) pascal@pascal-xps:~/Dev/warp$ docker compose -f demo_compose.yaml up
[+] Running 20/20
 ⠿ warp-demo-nginx Pulled                                                                                                                               10.8s
   ⠿ f03b40093957 Pull complete                                                                                                                          6.9s
   ⠿ eed12bbd6494 Pull complete                                                                                                                          7.5s
   ⠿ fa7eb8c8eee8 Pull complete                                                                                                                          7.6s
   ⠿ 7ff3b2b12318 Pull complete                                                                                                                          7.7s
   ⠿ 0f67c7de5f2c Pull complete                                                                                                                          7.8s
   ⠿ 831f51541d38 Pull complete                                                                                                                          7.9s
 ⠿ warp-demo-db Pulled                                                                                                                                  24.4s
   ⠿ 9d674c93414d Pull complete                                                                                                                          7.0s
   ⠿ de781e8e259a Pull complete                                                                                                                          7.6s
   ⠿ 5ea6efaf51f6 Pull complete                                                                                                                          7.8s
   ⠿ b078d5f4ac82 Pull complete                                                                                                                          8.4s
   ⠿ 97f84fb2a918 Pull complete                                                                                                                          8.7s
   ⠿ 5a6bf2f43fb8 Pull complete                                                                                                                          8.8s
   ⠿ f1a40e88fea4 Pull complete                                                                                                                          9.0s
   ⠿ 4be673794a1a Pull complete                                                                                                                         21.2s
   ⠿ 9d72f84fb861 Pull complete                                                                                                                         21.3s
   ⠿ 5d52569da92e Pull complete                                                                                                                         21.4s
   ⠿ 5d48fbe991ff Pull complete                                                                                                                         21.4s
   ⠿ 4ae692d11ad3 Pull complete                                                                                                                         21.5s
[+] Building 119.9s (27/28)                                                                                                                                   
 => [internal] load build definition from Dockerfile                                                                                                     0.1s
 => => transferring dockerfile: 1.77kB                                                                                                                   0.1s
 => [internal] load .dockerignore                                                                                                                        0.1s
 => => transferring context: 2B                                                                                                                          0.1s
 => [internal] load metadata for docker.io/library/python:3-slim                                                                                       119.6s
 => [compile-image  1/19] FROM docker.io/library/python:3-slim@sha256:eaee5f73efa9ae962d2077756292bc4878c04fcbc13dc168bb00cc365f35647e                   3.2s
 => => resolve docker.io/library/python:3-slim@sha256:eaee5f73efa9ae962d2077756292bc4878c04fcbc13dc168bb00cc365f35647e                                   0.1s
 => => sha256:05c2151a829c7c573d1d540463c8928df99235dca88fba7ae468657f3a0dda73 1.08MB / 1.08MB                                                           1.2s
 => => sha256:d31163dd7cf1fe77e2bb90104ec4d35cff4b4763dc39a431e376a4a93985a14f 11.94MB / 11.94MB                                                         2.0s
 => => sha256:e2dbff2a8d756ecb457f520679428777b7b0df55c2302fda65efb6281460f8e6 244B / 244B                                                               0.2s
 => => sha256:eaee5f73efa9ae962d2077756292bc4878c04fcbc13dc168bb00cc365f35647e 1.65kB / 1.65kB                                                           0.0s
 => => sha256:7b866f12347fbfccbb73284d9c04bbd67b5f9cca8b46786e9fa2bd07af53f09a 1.37kB / 1.37kB                                                           0.0s
 => => sha256:e77f21686f0b6267e49062c42fdf37aa9b87006eb07f402ba0acea8bed38ac06 6.83kB / 6.83kB                                                           0.0s
 => => sha256:10fe820b307733181983e560080d8ef1d79cf8f2fd8105fa3e020dbe4fe2d606 3.37MB / 3.37MB                                                           1.6s
 => => extracting sha256:05c2151a829c7c573d1d540463c8928df99235dca88fba7ae468657f3a0dda73                                                                0.1s
 => => extracting sha256:d31163dd7cf1fe77e2bb90104ec4d35cff4b4763dc39a431e376a4a93985a14f                                                                0.3s
 => => extracting sha256:e2dbff2a8d756ecb457f520679428777b7b0df55c2302fda65efb6281460f8e6                                                                0.0s
 => => extracting sha256:10fe820b307733181983e560080d8ef1d79cf8f2fd8105fa3e020dbe4fe2d606                                                                0.2s
 => [internal] load build context                                                                                                                        0.6s
 => => transferring context: 4.20MB                                                                                                                      0.6s
 => [compile-image  2/19] WORKDIR /opt/warp                                                                                                              0.6s
 => [compile-image  3/19] RUN apt-get update                                                                                                             3.3s
 => [compile-image  4/19] RUN mkdir debs &&     apt-get install -y -d --no-install-recommends libpq5 mime-support &&     cp /var/cache/apt/archives/*de  2.5s
 => [compile-image  5/19] RUN     apt-get install -y wget &&     NODE_ARCH=$(uname -m | sed 's/^x86_64\|amd64$/x64/;s/^i.*86$/x86/;s/^aarch64$/arm64/')  6.8s 
 => [compile-image  6/19] RUN apt-get install -y build-essential libpq-dev libpcre3 libpcre3-dev                                                        45.8s 
 => [compile-image  7/19] RUN pip install --upgrade setuptools && pip install wheel uwsgi                                                                9.7s 
 => [compile-image  8/19] RUN pip wheel -w wheel/ uwsgi                                                                                                  0.9s 
 => [compile-image  9/19] WORKDIR /opt/warp/js/                                                                                                          0.1s 
 => [compile-image 10/19] COPY js/package.json js/package-lock.json ./                                                                                   0.2s 
 => [compile-image 11/19] RUN npm ci                                                                                                                    11.0s 
 => [compile-image 12/19] COPY js/ ./                                                                                                                    0.1s 
 => [compile-image 13/19] RUN npm run build                                                                                                              7.0s 
 => [compile-image 14/19] WORKDIR /opt/warp                                                                                                              0.2s 
 => [compile-image 15/19] COPY requirements.txt ./                                                                                                       0.1s 
 => [compile-image 16/19] RUN pip wheel -w wheel -r requirements.txt                                                                                    11.8s
 => [compile-image 17/19] COPY warp ./warp                                                                                                               0.2s
 => [compile-image 18/19] COPY setup.py MANIFEST.in ./                                                                                                   0.1s
 => [compile-image 19/19] RUN python setup.py bdist_wheel -d wheel                                                                                       0.8s
 => [stage-1 3/6] RUN     --mount=type=bind,from=compile-image,source=/opt/warp/debs,target=./debs     dpkg -i debs/*.deb                                3.8s
 => [stage-1 4/6] RUN     --mount=type=bind,from=compile-image,source=/opt/warp/wheel,target=./wheel     pip install --no-index wheel/*.whl              3.6s
 => [stage-1 5/6] COPY --from=compile-image /opt/warp/warp/static ./static                                                                               0.2s
 => [stage-1 6/6] COPY res/warp_uwsgi.ini .                                                                                                              0.1s
 => exporting to image                                                                                                                                   0.5s
 => => exporting layers                                                                                                                                  0.5s
 => => writing image sha256:56609d4a45ff9aeb691d6fc411a80162534a4d29acdd33b6592bff08af535abd                                                             0.0s
 => => naming to docker.io/library/warp-warp-demo-wsgi                                                                                                   0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
[+] Running 4/4
 ⠿ Network warp_default              Created                                                                                                             0.2s
 ⠿ Container warp-warp-demo-db-1     Created                                                                                                             0.6s
 ⠿ Container warp-warp-demo-wsgi-1   Created                                                                                                             0.3s
 ⠿ Container warp-warp-demo-nginx-1  Created                                                                                                             0.4s
Attaching to warp-warp-demo-db-1, warp-warp-demo-nginx-1, warp-warp-demo-wsgi-1
warp-warp-demo-db-1     | The files belonging to this database system will be owned by user "postgres".
warp-warp-demo-db-1     | This user must also own the server process.
warp-warp-demo-db-1     | 
warp-warp-demo-db-1     | The database cluster will be initialized with locale "en_US.utf8".
warp-warp-demo-db-1     | The default database encoding has accordingly been set to "UTF8".
warp-warp-demo-db-1     | The default text search configuration will be set to "english".
warp-warp-demo-db-1     | 
warp-warp-demo-db-1     | Data page checksums are disabled.
warp-warp-demo-db-1     | 
warp-warp-demo-db-1     | fixing permissions on existing directory /var/lib/postgresql/data ... ok
warp-warp-demo-db-1     | creating subdirectories ... ok
warp-warp-demo-db-1     | selecting dynamic shared memory implementation ... posix
warp-warp-demo-db-1     | selecting default max_connections ... 100
warp-warp-demo-db-1     | selecting default shared_buffers ... 128MB
warp-warp-demo-db-1     | selecting default time zone ... Etc/UTC
warp-warp-demo-db-1     | creating configuration files ... ok
warp-warp-demo-db-1     | running bootstrap script ... ok
warp-warp-demo-wsgi-1   | [uWSGI] getting INI configuration from warp_uwsgi.ini
warp-warp-demo-db-1     | performing post-bootstrap initialization ... ok
warp-warp-demo-wsgi-1   | *** Starting uWSGI 2.0.21 (64bit) on [Mon Jun  5 14:55:05 2023] ***
warp-warp-demo-wsgi-1   | compiled with version: 10.2.1 20210110 on 05 June 2023 14:54:15
warp-warp-demo-wsgi-1   | os: Linux-5.15.49-linuxkit #1 SMP Tue Sep 13 07:51:46 UTC 2022
warp-warp-demo-wsgi-1   | nodename: 37a385307f73
warp-warp-demo-wsgi-1   | machine: x86_64
warp-warp-demo-wsgi-1   | clock source: unix
warp-warp-demo-wsgi-1   | pcre jit disabled
warp-warp-demo-wsgi-1   | detected number of CPU cores: 6
warp-warp-demo-wsgi-1   | current working directory: /opt/warp
warp-warp-demo-wsgi-1   | detected binary path: /usr/local/bin/uwsgi
warp-warp-demo-wsgi-1   | *** dumping internal routing table ***
warp-warp-demo-wsgi-1   | [rule: 0] subject: path_info regexp: ^/static/ action: goto:static
warp-warp-demo-wsgi-1   | [rule: 1] action: last:
warp-warp-demo-wsgi-1   | [rule: 2] label: static
warp-warp-demo-wsgi-1   | [rule: 3] subject: path_info regexp: ^/static/(.*) action: rewrite:$1
warp-warp-demo-wsgi-1   | [rule: 4] subject: /opt/warp/static/${PATH_INFO} func: isfile action: static:/opt/warp/static/${PATH_INFO}
warp-warp-demo-wsgi-1   | [rule: 5] action: addheader:Cache-Control: no-cache
warp-warp-demo-wsgi-1   | [rule: 6] action: return:404
warp-warp-demo-wsgi-1   | *** end of the internal routing table ***
warp-warp-demo-wsgi-1   | uWSGI running as root, you can use --uid/--gid/--chroot options
warp-warp-demo-wsgi-1   | *** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
warp-warp-demo-wsgi-1   | your memory page size is 4096 bytes
warp-warp-demo-wsgi-1   | detected max file descriptor number: 1048576
warp-warp-demo-wsgi-1   | building mime-types dictionary from file /etc/mime.types...1476 entry found
warp-warp-demo-wsgi-1   | lock engine: pthread robust mutexes
warp-warp-demo-wsgi-1   | thunder lock: disabled (you can enable it with --thunder-lock)
warp-warp-demo-wsgi-1   | uwsgi socket 0 bound to TCP address 0.0.0.0:8000 fd 6
warp-warp-demo-wsgi-1   | uWSGI running as root, you can use --uid/--gid/--chroot options
warp-warp-demo-wsgi-1   | *** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
warp-warp-demo-wsgi-1   | Python version: 3.11.3 (main, May 23 2023, 13:34:03) [GCC 10.2.1 20210110]
warp-warp-demo-wsgi-1   | Python main interpreter initialized at 0x7f12ea63e558
warp-warp-demo-wsgi-1   | uWSGI running as root, you can use --uid/--gid/--chroot options
warp-warp-demo-wsgi-1   | *** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
warp-warp-demo-wsgi-1   | python threads support enabled
warp-warp-demo-wsgi-1   | your server socket listen backlog is limited to 100 connections
warp-warp-demo-wsgi-1   | your mercy for graceful operations on workers is 60 seconds
warp-warp-demo-wsgi-1   | mapped 703440 bytes (686 KB) for 8 cores
warp-warp-demo-wsgi-1   | *** Operational MODE: preforking+threaded ***
warp-warp-demo-wsgi-1   | Traceback (most recent call last):
warp-warp-demo-wsgi-1   |   File "/usr/local/lib/python3.11/site-packages/warp/__init__.py", line 9, in create_app
warp-warp-demo-wsgi-1   |     initConfig(app)
warp-warp-demo-wsgi-1   |   File "/usr/local/lib/python3.11/site-packages/warp/config.py", line 109, in initConfig
warp-warp-demo-wsgi-1   |     if app.env != 'production':
warp-warp-demo-wsgi-1   |        ^^^^^^^
warp-warp-demo-wsgi-1   | AttributeError: 'Flask' object has no attribute 'env'
warp-warp-demo-wsgi-1   | unable to load app 0 (mountpoint='') (callable not found or import error)
warp-warp-demo-wsgi-1   | *** no app loaded. going in full dynamic mode ***
warp-warp-demo-wsgi-1   | uWSGI running as root, you can use --uid/--gid/--chroot options
warp-warp-demo-wsgi-1   | *** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
warp-warp-demo-wsgi-1   | *** uWSGI is running in multiple interpreter mode ***
warp-warp-demo-wsgi-1   | spawned uWSGI master process (pid: 1)
warp-warp-demo-wsgi-1   | spawned uWSGI worker 1 (pid: 7, cores: 2)
warp-warp-demo-wsgi-1   | spawned 2 offload threads for uWSGI worker 1
warp-warp-demo-wsgi-1   | spawned uWSGI worker 2 (pid: 10, cores: 2)
warp-warp-demo-wsgi-1   | spawned 2 offload threads for uWSGI worker 2
warp-warp-demo-wsgi-1   | spawned uWSGI worker 3 (pid: 14, cores: 2)
warp-warp-demo-wsgi-1   | spawned 2 offload threads for uWSGI worker 3
warp-warp-demo-wsgi-1   | spawned uWSGI worker 4 (pid: 18, cores: 2)
warp-warp-demo-wsgi-1   | spawned 2 offload threads for uWSGI worker 4
warp-warp-demo-db-1     | syncing data to disk ... ok
warp-warp-demo-db-1     | 
warp-warp-demo-db-1     | 
warp-warp-demo-db-1     | Success. You can now start the database server using:
warp-warp-demo-db-1     | 
warp-warp-demo-db-1     |     pg_ctl -D /var/lib/postgresql/data -l logfile start
warp-warp-demo-db-1     | 
warp-warp-demo-db-1     | initdb: warning: enabling "trust" authentication for local connections
warp-warp-demo-db-1     | initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
warp-warp-demo-db-1     | waiting for server to start....2023-06-05 14:55:05.713 UTC [49] LOG:  starting PostgreSQL 15.3 (Debian 15.3-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
warp-warp-demo-db-1     | 2023-06-05 14:55:05.722 UTC [49] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
warp-warp-demo-db-1     | 2023-06-05 14:55:05.743 UTC [52] LOG:  database system was shut down at 2023-06-05 14:55:05 UTC
warp-warp-demo-db-1     | 2023-06-05 14:55:05.753 UTC [49] LOG:  database system is ready to accept connections
warp-warp-demo-db-1     |  done
warp-warp-demo-db-1     | server started
warp-warp-demo-db-1     | 
warp-warp-demo-db-1     | /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
warp-warp-demo-db-1     | 
warp-warp-demo-db-1     | waiting for server to shut down...2023-06-05 14:55:05.829 UTC [49] LOG:  received fast shutdown request
warp-warp-demo-db-1     | .2023-06-05 14:55:05.835 UTC [49] LOG:  aborting any active transactions
warp-warp-demo-db-1     | 2023-06-05 14:55:05.836 UTC [49] LOG:  background worker "logical replication launcher" (PID 55) exited with exit code 1
warp-warp-demo-db-1     | 2023-06-05 14:55:05.837 UTC [50] LOG:  shutting down
warp-warp-demo-nginx-1  | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
warp-warp-demo-nginx-1  | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
warp-warp-demo-nginx-1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
warp-warp-demo-nginx-1  | 10-listen-on-ipv6-by-default.sh: info: can not modify /etc/nginx/conf.d/default.conf (read-only file system?)
warp-warp-demo-nginx-1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
warp-warp-demo-db-1     | 2023-06-05 14:55:05.842 UTC [50] LOG:  checkpoint starting: shutdown immediate
warp-warp-demo-nginx-1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
warp-warp-demo-nginx-1  | /docker-entrypoint.sh: Configuration complete; ready for start up
warp-warp-demo-nginx-1  | 2023/06/05 14:55:05 [notice] 1#1: using the "epoll" event method
warp-warp-demo-nginx-1  | 2023/06/05 14:55:05 [notice] 1#1: nginx/1.25.0
warp-warp-demo-nginx-1  | 2023/06/05 14:55:05 [notice] 1#1: built by gcc 10.2.1 20210110 (Debian 10.2.1-6) 
warp-warp-demo-nginx-1  | 2023/06/05 14:55:05 [notice] 1#1: OS: Linux 5.15.49-linuxkit
warp-warp-demo-nginx-1  | 2023/06/05 14:55:05 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
warp-warp-demo-nginx-1  | 2023/06/05 14:55:05 [notice] 1#1: start worker processes
warp-warp-demo-nginx-1  | 2023/06/05 14:55:05 [notice] 1#1: start worker process 21
warp-warp-demo-nginx-1  | 2023/06/05 14:55:05 [notice] 1#1: start worker process 22
warp-warp-demo-nginx-1  | 2023/06/05 14:55:05 [notice] 1#1: start worker process 23
warp-warp-demo-nginx-1  | 2023/06/05 14:55:05 [notice] 1#1: start worker process 24
warp-warp-demo-nginx-1  | 2023/06/05 14:55:05 [notice] 1#1: start worker process 25
warp-warp-demo-nginx-1  | 2023/06/05 14:55:05 [notice] 1#1: start worker process 26
warp-warp-demo-db-1     | 2023-06-05 14:55:05.900 UTC [50] LOG:  checkpoint complete: wrote 3 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.012 s, sync=0.006 s, total=0.064 s; sync files=2, longest=0.003 s, average=0.003 s; distance=0 kB, estimate=0 kB
warp-warp-demo-db-1     | 2023-06-05 14:55:05.916 UTC [49] LOG:  database system is shut down
warp-warp-demo-db-1     |  done
warp-warp-demo-db-1     | server stopped
warp-warp-demo-db-1     | 
warp-warp-demo-db-1     | PostgreSQL init process complete; ready for start up.
warp-warp-demo-db-1     | 
warp-warp-demo-db-1     | 2023-06-05 14:55:05.976 UTC [1] LOG:  starting PostgreSQL 15.3 (Debian 15.3-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
warp-warp-demo-db-1     | 2023-06-05 14:55:05.977 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
warp-warp-demo-db-1     | 2023-06-05 14:55:05.977 UTC [1] LOG:  listening on IPv6 address "::", port 5432
warp-warp-demo-db-1     | 2023-06-05 14:55:05.988 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
warp-warp-demo-db-1     | 2023-06-05 14:55:06.002 UTC [63] LOG:  database system was shut down at 2023-06-05 14:55:05 UTC
warp-warp-demo-db-1     | 2023-06-05 14:55:06.012 UTC [1] LOG:  database system is ready to accept connections
warp-warp-demo-wsgi-1   | --- no python application found, check your startup logs for errors ---
warp-warp-demo-wsgi-1   | [pid: 18|app: -1|req: -1/1] 172.23.0.1 () {50 vars in 887 bytes} [Mon Jun  5 14:57:44 2023] GET / => generated 21 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 83 bytes (0 switches on core 0)
warp-warp-demo-nginx-1  | 172.23.0.1 - - [05/Jun/2023:14:57:44 +0000] "GET / HTTP/1.1" 500 32 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/113.0" "-"
warp-warp-demo-wsgi-1   | --- no python application found, check your startup logs for errors ---
warp-warp-demo-nginx-1  | 172.23.0.1 - - [05/Jun/2023:14:57:44 +0000] "GET /favicon.ico HTTP/1.1" 500 32 "http://127.0.0.1:8080/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/113.0" "-"
warp-warp-demo-wsgi-1   | [pid: 14|app: -1|req: -1/2] 172.23.0.1 () {48 vars in 824 bytes} [Mon Jun  5 14:57:44 2023] GET /favicon.ico => generated 21 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 83 bytes (0 switches on core 0)
warp-warp-demo-db-1     | 2023-06-05 15:00:06.109 UTC [61] LOG:  checkpoint starting: time
warp-warp-demo-db-1     | 2023-06-05 15:00:10.202 UTC [61] LOG:  checkpoint complete: wrote 43 buffers (0.3%); 0 WAL file(s) added, 0 removed, 0 recycled; write=4.038 s, sync=0.020 s, total=4.093 s; sync files=11, longest=0.010 s, average=0.002 s; distance=252 kB, estimate=252 kB
warp-warp-demo-nginx-1  | 172.23.0.1 - - [05/Jun/2023:15:39:19 +0000] "GET / HTTP/1.1" 500 32 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/113.0" "-"
warp-warp-demo-wsgi-1   | --- no python application found, check your startup logs for errors ---
warp-warp-demo-wsgi-1   | [pid: 18|app: -1|req: -1/3] 172.23.0.1 () {54 vars in 940 bytes} [Mon Jun  5 15:39:19 2023] GET / => generated 21 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 83 bytes (0 switches on core 1)
warp-warp-demo-wsgi-1   | --- no python application found, check your startup logs for errors ---
warp-warp-demo-wsgi-1   | [pid: 14|app: -1|req: -1/4] 172.23.0.1 () {52 vars in 877 bytes} [Mon Jun  5 15:39:20 2023] GET /favicon.ico => generated 21 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 83 bytes (0 switches on core 1)
warp-warp-demo-nginx-1  | 172.23.0.1 - - [05/Jun/2023:15:39:20 +0000] "GET /favicon.ico HTTP/1.1" 500 32 "http://127.0.0.1:8080/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/113.0" "-"

User: Admin Role -> Seat assign problem

Hi, thank you for WARP it is a great tool.
However, I wanted to ask if only I have the following problem locally or if you can also prove it.
If additional users with an admin role are created with the main or example admin (for teamleaders, for example), they cannot assign seats, only book them themselves. The example admin himself can also assign seats. Is that how it should work?

Thank you for your work and your answers :-).
Best regards from Hamburg
J.

Meeting room feature

Hello,

First, thank you for this great project!

Are you also planning to add the ability to book a meeting room?

Useful features:

  • title and description, i.e. what is currently going on there and what will be needed for the meeting
  • people participating in the meeting
  • a group allowed to book a room in a given ZONE
  • maximum number of hours for a person in a given user group to reserve rooms in a given ZONE (per week/month)

Guidance for a productive environment

Hello Sebo-b

Is there perhaps a tutorial on how I can set up WARP on my server and use it productively?

I have already read the README and found out that it doesn't go any further after the secret key.

Maybe there is a possibility that we contact each other by e-mail, and you explain to me how I can use WARP, or maybe you have a documentation or description that you can send me.

Thank you

I can't build any workplaces

Under config.py, I have changed

LANGUAGE_FILE="i18n/en.js" to LANGUAGE_FILE="i18n/de.js". And config.py => from WEEKS_IN_ADVANCE = 1 to WEEKS_IN_ADVANCE = 5 so the map is not shown any more and I build any workplaces. The Bookings tab is also gone 😱
WARP.

"Logged as" visible for all type of roles

Hello,
Is there any possibility to see the "logged as" information for every user logged, not only for users with Manager role?
Great and amazing job done with WARP!
Thanks and regards!

Recent peewe version makes it fail on group zone assignement

Hi, sebo-b:

First of all, I would like to thank you for this project. Great job!

Second, I have found that last time I built the whole project, the resulting deployment failed when assigning groups to zones. After a little research, I found that something was wrong in :

_cab_warp-warp-demo-wsgi-1 | File "/usr/local/lib/python3.10/site-packages/warp/xhr/zones.py", line 209, in assign

cab_warp-warp-demo-wsgi-1 | raise ApplyError(f"Wrong number of affected rows {rowCount} != "+ str(len(jsonData['change'])), 223)_

Something seems to have changed on last version of peewe. The easy solution is to force peewe version en requirements.txt as peewee==3.14.10, doing so everything works fine.

I hope this pice of advise is usefull for new users.

cheers!

isort and black

@sebo-b , would you be interested in using isort and then black for code formatting?

  • isort would provide a nice way to import all external and internal code (There would be mixed between internal and external code as can be seen here)
  • black would format all lines (For there would be no mix between single and double quote usage)

If so, I can propose the associated pull request. Or @sebo-b , you can do it yourself, as it changes mainly line ownership.

I use these commands

isort --profile black -l 100 my_code
black -l 100 my_code

Originally posted by @Gjacquenot in #8 (comment)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.