Issue - Installing via Portainer - Synology

Greetings,

Issue:
Installing via Portainer - Synology won’t start

Host:
Synology DSM
Using Portainer with Docker Compose

Docker Compose template:

#####################################################################
version: '3.3'
services:
    baserow:
        container_name: baserow
        environment:
            - 'BASEROW_PUBLIC_URL=https://db.example.com'
        volumes:
            - 'baserow_data:/baserow/data'
        ports:
            - '3001:80'
        restart: unless-stopped
        image: 'baserow/baserow:latest'
#####################################################################

Error from the logs:

today at 4:29:04 AM [CELERY_WORKER][2022-07-04 08:29:04] [2022-07-04 08:29:04,952: INFO/MainProcess] Connected to redis://:**@localhost:6379/0 (B 
today at 4:29:04 AM [EXPORT_WORKER][2022-07-04 08:29:04]  (B 
today at 4:29:04 AM [EXPORT_WORKER][2022-07-04 08:29:04] [2022-07-04 08:29:04,990: INFO/MainProcess] Connected to redis://:**@localhost:6379/0 (B 
today at 4:29:05 AM [BACKEND][2022-07-04 08:29:05] python /baserow/backend/src/baserow/manage.py migrate (B 
today at 4:29:05 AM [CELERY_WORKER][2022-07-04 08:29:05] [2022-07-04 08:29:04,958: INFO/MainProcess] mingle: searching for neighbors (B 
today at 4:29:06 AM [CELERY_WORKER][2022-07-04 08:29:05] [2022-07-04 08:29:05,975: INFO/MainProcess] mingle: all alone (B 
today at 4:29:06 AM [EXPORT_WORKER][2022-07-04 08:29:06] [2022-07-04 08:29:04,994: INFO/MainProcess] mingle: searching for neighbors (B 
today at 4:29:06 AM [EXPORT_WORKER][2022-07-04 08:29:06] [2022-07-04 08:29:06,007: INFO/MainProcess] mingle: all alone (B 
today at 4:29:06 AM [BACKEND][2022-07-04 08:29:06] WARNING: Baserow is configured to use a BASEROW_PUBLIC_URL of http://localhost. If you attempt to access Baserow on any other hostname requests to the backend will fail as they will be from an unknown host. Please set BASEROW_PUBLIC_URL if you will be accessing Baserow from any other URL then http://localhost. (B 
today at 4:29:06 AM [BACKEND][2022-07-04 08:29:06] Operations to perform: (B 
today at 4:29:06 AM [BACKEND][2022-07-04 08:29:06]   Apply all migrations: auth, baserow_premium, contenttypes, core, database, db, sessions (B 
today at 4:29:06 AM [BACKEND][2022-07-04 08:29:06] Running migrations: (B 
today at 4:29:07 AM [BACKEND][2022-07-04 08:29:07]   Applying database.0034_form_view... OK (B 
today at 4:29:07 AM [BACKEND][2022-07-04 08:29:07]   Applying database.0035_remove_field_old_name... OK (B 
today at 4:29:07 AM2022-07-04 08:29:07,849 INFO waiting for processes, postgresql, baserow-watcher, beatworker, redis, celeryworker, webfrontend, caddy, exportworker, backend to die
today at 4:29:07 AM2022-07-04 08:29:07,849 INFO waiting for processes, postgresql, baserow-watcher, beatworker, redis, celeryworker, webfrontend, caddy, exportworker, backend to die
today at 4:29:08 AM [BACKEND][2022-07-04 08:29:08]   Applying database.0036_createdonfield_lastmodifiedfield... OK (B 
today at 4:29:08 AM [BACKEND][2022-07-04 08:29:08]   Applying database.0037_alter_exportjob_export_options... OK (B 
today at 4:29:08 AM [BACKEND][2022-07-04 08:29:08]   Applying database.0038_multipleselectfield... OK (B 
today at 4:29:08 AM [BACKEND][2022-07-04 08:29:08]   Applying database.0039_formulafield... OK (B 
today at 4:29:08 AM [BACKEND][2022-07-04 08:29:08]   Applying database.0040_formulafield_remove_field_by_id... OK (B 
today at 4:29:09 AM [BACKEND][2022-07-04 08:29:09]   Applying database.0041_add_generated_table_indexes... OK (B 
today at 4:29:09 AM [BACKEND][2022-07-04 08:29:09]   Applying database.0042_add_other_trashed_indexes... OK (B 
today at 4:29:10 AM [BACKEND][2022-07-04 08:29:10]   Applying database.0043_webhooks... OK (B 
today at 4:29:11 AM2022-07-04 08:29:11,049 INFO waiting for processes, postgresql, baserow-watcher, beatworker, redis, celeryworker, webfrontend, caddy, exportworker, backend to die
today at 4:29:11 AM2022-07-04 08:29:11,049 INFO waiting for processes, postgresql, baserow-watcher, beatworker, redis, celeryworker, webfrontend, caddy, exportworker, backend to die
today at 4:29:11 AM [BACKEND][2022-07-04 08:29:11]   Applying database.0044_field_dependencies... OK (B 
today at 4:29:11 AM [BACKEND][2022-07-04 08:29:11]   Applying database.0045_alter_field_name... OK (B 
today at 4:29:11 AM [BACKEND][2022-07-04 08:29:11]   Applying database.0046_add_lookup_field... OK (B 
today at 4:29:12 AM [BACKEND][2022-07-04 08:29:12]   Applying database.0047_fix_date_diff... OK (B 
today at 4:29:12 AM [BACKEND][2022-07-04 08:29:12]   Applying database.0048_fix_trashed_field_dependencies...Fixed 0 trashed dependants (B 
today at 4:29:12 AM [BACKEND][2022-07-04 08:29:12] Fixed 0 trashed vias (B 
today at 4:29:12 AM [BACKEND][2022-07-04 08:29:12] Fixed 0 trashed dependencies (B 
today at 4:29:12 AM [BACKEND][2022-07-04 08:29:12]  OK (B 
today at 4:29:12 AM [BACKEND][2022-07-04 08:29:12]   Applying database.0049_urlfield_2_textfield... OK (B 
today at 4:29:12 AM [BACKEND][2022-07-04 08:29:12]   Applying database.0050_remove_multiselect_missing_options... OK (B 
today at 4:29:13 AM [BASEROW-WATCHER][2022-07-04 08:29:13] Waiting for Baserow to become available, this might take 30+ seconds... (B 
today at 4:29:13 AM [BACKEND][2022-07-04 08:29:13]   Applying database.0051_gallery_view... OK (B 
today at 4:29:13 AM [BACKEND][2022-07-04 08:29:13]   Applying database.0052_table_order_and_id_index... (B 
today at 4:29:13 AM [BACKEND][2022-07-04 08:29:13]  OK (B 
today at 4:29:13 AM [BACKEND][2022-07-04 08:29:13]   Applying database.0053_add_and_move_public_flags...Migrating form view public and slug properties to View... (B 
today at 4:29:13 AM [BACKEND][2022-07-04 08:29:13] Done with form view (B 
today at 4:29:13 AM [BACKEND][2022-07-04 08:29:13]  (B 
today at 4:29:13 AM [BACKEND][2022-07-04 08:29:13]  OK (B 
today at 4:29:13 AM [BACKEND][2022-07-04 08:29:13]   Applying database.0054_ratingfield... OK (B 
today at 4:29:14 AM [BACKEND][2022-07-04 08:29:14]   Applying database.0055_formview_submit_text... OK (B 
today at 4:29:14 AM2022-07-04 08:29:14,062 INFO waiting for processes, postgresql, baserow-watcher, beatworker, redis, celeryworker, webfrontend, caddy, exportworker, backend to die
today at 4:29:14 AM2022-07-04 08:29:14,062 INFO waiting for processes, postgresql, baserow-watcher, beatworker, redis, celeryworker, webfrontend, caddy, exportworker, backend to die
today at 4:29:14 AM [BACKEND][2022-07-04 08:29:14]   Applying database.0056_galleryview_card_cover_image_field... OK (B 
today at 4:29:14 AM [BACKEND][2022-07-04 08:29:14]   Applying database.0057_fix_invalid_type_filters_and_sorts...Fixed 0 invalid filters (B 
today at 4:29:14 AM [BACKEND][2022-07-04 08:29:14] Fixed 0 invalid sorts (B 
today at 4:29:14 AM [BACKEND][2022-07-04 08:29:14]  OK (B 
today at 4:29:14 AM2022-07-04 08:29:14,836 WARN killing 'beatworker' (215) with SIGKILL
today at 4:29:14 AM2022-07-04 08:29:14,837 INFO stopped: beatworker (terminated by SIGKILL)
today at 4:29:14 AM2022-07-04 08:29:14,837 INFO stopped: beatworker (terminated by SIGKILL)
today at 4:29:14 AMBaserow was stopped or one of it's services crashed, see the logs above for more details. 
today at 4:29:14 AM2022-07-04 08:29:14,839 WARN received SIGTERM indicating exit request
today at 4:29:14 AM2022-07-04 08:29:14,839 WARN received SIGTERM indicating exit request
today at 4:29:14 AM [WEBFRONTEND][2022-07-04 08:29:14] ℹ Listening on: http://localhost:3000/ (B 
today at 4:29:14 AM2022-07-04 08:29:14,858 INFO stopped: webfrontend (terminated by SIGTERM)
today at 4:29:14 AM2022-07-04 08:29:14,858 INFO reaped unknown pid 373
today at 4:29:14 AM2022-07-04 08:29:14,858 INFO reaped unknown pid 373
today at 4:29:14 AM2022-07-04 08:29:14,859 INFO stopped: backend (terminated by SIGTERM)
today at 4:29:14 AM2022-07-04 08:29:14,859 INFO stopped: backend (terminated by SIGTERM)

Any idea what is missing?

Thanks

Hi @sudo ,

Could you instead try with the following template? Thanks

version: '3.3'
services:
    baserow:
        container_name: baserow
        environment:
            - 'BASEROW_PUBLIC_URL=https://db.example.com'
            - 'BASEROW_CADDY_ADDRESSES=:8080'
        volumes:
            - 'baserow_data:/baserow/data'
        ports:
            - '3001:8080'
        restart: unless-stopped
        image: 'baserow/baserow:latest'

Thanks @nigel That did the trick and it’s working now!

That should be on the docs somewhere. Thanks again for the help!

In the next release of Baserow we’ll be fixing the root cause of this issue which is:

The user running our web server inside our docker image is not root. The error you had was this user didn’t have permissions to bind to port 80.

This capability is now set by default in Docker engine versions 20.10 > (https://github.com/moby/moby/pull/41030) . However prior versions of Docker crash, and I believe Portainer/Synology is using an older version.

The fix we’ve made is to change the user that runs the internal Caddy http server to instead run as root (just like it does in the offical Caddy/http/nginx etc docker images), so it can bind to port 80. This will mean Baserow will just work out of the box without any extra docs/steps needed next version :slight_smile: .

I see. Thanks for the detailed explanation!!