Bug description

Using the latest git clone and setting TAG to 4.1.2 (I've also tried the version the documentation suggests which is 3.1.1), am having a lot of issues trying to get this up and running.

If I use the 'docker-compose-non-dev.yml' file, I get issues relating to 'gcc' not installed so it fails to install psycopg2.

If I use the 'docker-compose-image-tag.yml' file, I get issues relating to 'uv' not being installed so it just fails in general to do much of anything.

Screenshots/recordings

No response

Superset version

master / latest-dev

Python version

3.11

Node version

Not applicable

Browser

Not applicable

Additional context

Installing local overrides at /app/docker/requirements-local.txt Resolved 1 package in 285ms Building psycopg2==2.9.10 × Failed to build psycopg2==2.9.10 ├─▶ The build backend returned an error ╰─▶ Call to setuptools.build_meta:__legacy__.build_wheel failed (exit status: 1)

  [stdout]
  running bdist_wheel
  running build
  running build_py
  creating build/lib.linux-x86_64-cpython-311/psycopg2
  copying lib/pool.py -> build/lib.linux-x86_64-cpython-311/psycopg2
  copying lib/tz.py -> build/lib.linux-x86_64-cpython-311/psycopg2
  copying lib/errorcodes.py -> build/lib.linux-x86_64-cpython-311/psycopg2
  copying lib/_json.py -> build/lib.linux-x86_64-cpython-311/psycopg2
  copying lib/errors.py -> build/lib.linux-x86_64-cpython-311/psycopg2
  copying lib/extensions.py -> build/lib.linux-x86_64-cpython-311/psycopg2
  copying lib/extras.py -> build/lib.linux-x86_64-cpython-311/psycopg2
  copying lib/_range.py -> build/lib.linux-x86_64-cpython-311/psycopg2
  copying lib/_ipaddress.py -> build/lib.linux-x86_64-cpython-311/psycopg2
  copying lib/__init__.py -> build/lib.linux-x86_64-cpython-311/psycopg2
  copying lib/sql.py -> build/lib.linux-x86_64-cpython-311/psycopg2
  running build_ext
  building 'psycopg2._psycopg' extension
  creating build/temp.linux-x86_64-cpython-311/psycopg
  gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall
  -fPIC "-DPSYCOPG_VERSION=2.9.10 (dt dec pq3 ext lo64)"
  -DPSYCOPG_DEBUG=1 -DPG_VERSION_NUM=150012 -DHAVE_LO64=1
  -DPSYCOPG_DEBUG=1 -I/tmp/.tmpHMnmky/builds-v0/.tmpzy1XIq/include
  -I/usr/local/include/python3.11 -I.
  -I/usr/include/postgresql -I/usr/include/postgresql/15/server
  -I/usr/include/libxml2 -c psycopg/adapter_asis.c -o
  build/temp.linux-x86_64-cpython-311/psycopg/adapter_asis.o
  -Wdeclaration-after-statement

  [stderr]
  /tmp/.tmpHMnmky/builds-v0/.tmpzy1XIq/lib/python3.11/site-packages/setuptools/dist.py:759:
  SetuptoolsDeprecationWarning: License classifiers are deprecated.
  !!


  ********************************************************************************
          Please consider removing the following classifiers in favor of a
  SPDX license expression:

          License :: OSI Approved :: GNU Library or Lesser General Public
  License (LGPL)

          See
  https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license
  for details.

  ********************************************************************************

  !!
    self._finalize_license_expression()

  It appears you are missing some prerequisite to build the package from
  source.

  You may install a binary package by installing 'psycopg2-binary' from
  PyPI.
  If you want to install psycopg2 from source, please install the packages
  required for the build and try again.

  For further information please check the 'doc/src/install.rst' file
  (also at
  <https://www.psycopg.org/docs/install.html>).

  error: command 'gcc' failed: No such file or directory

  hint: This usually indicates a problem with the package or the build
  environment.

Checklist

  • [x] I have searched Superset docs and Slack and didn't find a solution to my problem.
  • [x] I have searched the GitHub issue tracker and didn't find a similar bug report.
  • [x] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Comment From: dosubot[bot]

Hello @ray73864! 👋 I'm Dosu, a bot here to help you solve bugs, answer your questions, and navigate the world of contributing. While you wait for a human maintainer, feel free to share your concerns, and I'll do my best to assist you! 😊

To resolve the issues you're encountering with 'gcc' and 'uv' in the Superset Docker environment, you can follow these steps:

  1. Install gcc for Building psycopg2:
  2. When using docker-compose-non-dev.yml, ensure that gcc is installed in the Docker environment. You can modify the Dockerfile or the bootstrap script to include the installation of gcc: bash apt-get update && apt-get install -y gcc
  3. This will allow the psycopg2 package to be built from source.

  4. Resolve 'uv' Command Not Found:

  5. If you're using docker-compose-image-tag.yml and encountering issues with 'uv', you can modify the docker-bootstrap.sh script to use pip instead of uv for package installation. Replace the existing content with: bash pip install --no-cache-dir -r "${REQUIREMENTS_LOCAL}"
  6. Alternatively, you can create and activate a virtual environment to ensure dependencies are installed correctly: bash python -m venv .venv source .venv/bin/activate

  7. Use a Specific Version of Superset:

  8. If the above solutions do not resolve the issue, consider using a specific version of Superset that might not have these dependencies. For example, you can check out version 4.1.1: bash git fetch --tags git checkout 4.1.1 docker-compose up

These steps should help address the build issues related to missing packages in your Superset Docker setup [1][2][3].

To continue talking to Dosu, mention @dosu.


Help Dosu learn! Give it feedback: Great Response | Irrelevant Answer | Incorrect Sources | Too Verbose | Hallucination | Bug Report | Other

Comment From: rusackas

Does it work if you install gcc and/or uv? I think @mistercrunch might have merged some PRs recently that updated some of how this works. We might need to make some additions to this page to clarify here.

Comment From: mistercrunch

It should work if you checkout the branch/tag of the version you're trying to fire up prior to launching docker-compose

export TAG=3.1.0
git checkout $TAG
docker-compose -f docker-compose-image-tag.yml

Comment From: mistercrunch

Fixing the docs here -> https://github.com/apache/superset/pull/33045

Comment From: ray73864

git checkout $TAG doesn't work though.

If I follow the instructions here: https://superset.apache.org/docs/installation/docker-compose

It says to do 'git clone --depth=1', if I do that then the git checkout $TAG comes back saying error: pathspec '4.1.2' did not match any file(s) known to git, doesn't matter if I try 3.1.1, 3.1.0, 4.1.2, etc...

Comment From: mistercrunch

oh, shallow clone, does git fetch origin $TAG puts you back on track? maybe we remove the shallow clone advice or add something about running git fetch. Sucks to clone the whole repo for a particular branch...

Comment From: mistercrunch

Added another comment + command to my PR updating the docs

Comment From: ray73864

Following the quickstart guide worked, but that meant downloading the entire repo, which was pretty large, I still had my TAG set at 4.1.2 when I ran the docker-compose-image-tag.yml after following the quickstart.

Comment From: ray73864

Actually, logging into my superset instance shows 'Development' in red in the top right corner, so the quickstart guide didn't actually work at all.

Comment From: mistercrunch

I think all docker-compose setups will show that tag. It's related to the warning here ->

Image

It's pretty easy to remove the tag, but shouldn't treat that set up as production.

Comment From: ray73864

So I did:

git clone --depth=1 https://github.com/apache/superset.git
cd superset
export TAG=4.1.2
git fetch origin $TAG
git checkout $TAG

And it all comes back with error: pathspec '4.1.2' did not match any file(s) known to git

Comment From: mistercrunch

git fetch --depth=1 origin tag $TAG

updated the docs in that other PR. Might just be easier to not instruct people to shallow-clone at this point, but sticking to it

Comment From: ray73864

git fetch --depth=1 origin tag $TAG
remote: Enumerating objects: 61093, done.
remote: Counting objects: 100% (61086/61086), done.
remote: Compressing objects: 100% (31903/31903), done.
remote: Total 57218 (delta 39121), reused 40380 (delta 24004), pack-reused 0 (from 0)
Receiving objects: 100% (57218/57218), 258.24 MiB | 15.47 MiB/s, done.
Resolving deltas: 100% (39121/39121), completed with 2602 local objects.
From https://github.com/apache/superset
 * [new tag]               4.1.2                       -> 4.1.2
 * [new tag]               0.10.0                      -> 0.10.0
 * [new tag]               0.11.0                      -> 0.11.0
 * [new tag]               0.12.0                      -> 0.12.0
 * [new tag]               0.13.1                      -> 0.13.1
 * [new tag]               0.13.2                      -> 0.13.2
 * [new tag]               0.14.1                      -> 0.14.1
 * [new tag]               0.15.0                      -> 0.15.0
 * [new tag]               0.15.1                      -> 0.15.1
 * [new tag]               0.15.3                      -> 0.15.3
 * [new tag]               0.15.4                      -> 0.15.4
 * [new tag]               0.15.4.1                    -> 0.15.4.1
 * [new tag]               0.16.0                      -> 0.16.0
 * [new tag]               0.16.1                      -> 0.16.1
 * [new tag]               0.17.0                      -> 0.17.0
 * [new tag]               0.17.1                      -> 0.17.1
 * [new tag]               0.17.2                      -> 0.17.2
 * [new tag]               0.17.3                      -> 0.17.3
 * [new tag]               0.17.4                      -> 0.17.4
 * [new tag]               0.17.5                      -> 0.17.5
 * [new tag]               0.17.6                      -> 0.17.6
 * [new tag]               0.18.2                      -> 0.18.2
 * [new tag]               0.18.3                      -> 0.18.3
 * [new tag]               0.18.4                      -> 0.18.4
 * [new tag]               0.18.5                      -> 0.18.5
 * [new tag]               0.19.1                      -> 0.19.1
 * [new tag]               0.2.1                       -> 0.2.1
 * [new tag]               0.20.1                      -> 0.20.1
 * [new tag]               0.25-fork                   -> 0.25-fork
 * [new tag]               0.29.0rc1                   -> 0.29.0rc1
 * [new tag]               0.4.0                       -> 0.4.0
 * [new tag]               0.5.0                       -> 0.5.0
 * [new tag]               0.5.1                       -> 0.5.1
 * [new tag]               0.5.2                       -> 0.5.2
 * [new tag]               0.5.3                       -> 0.5.3
 * [new tag]               0.6.0                       -> 0.6.0
 * [new tag]               0.6.1                       -> 0.6.1
 * [new tag]               0.7.0                       -> 0.7.0
 * [new tag]               0.8.0                       -> 0.8.0
 * [new tag]               0.8.3                       -> 0.8.3
 * [new tag]               0.8.4                       -> 0.8.4
 * [new tag]               0.8.5                       -> 0.8.5
 * [new tag]               0.8.6                       -> 0.8.6
 * [new tag]               0.8.7                       -> 0.8.7
 * [new tag]               0.8.8                       -> 0.8.8
 * [new tag]               0.8.9                       -> 0.8.9
 * [new tag]               0.9.0                       -> 0.9.0
 * [new tag]               0.9.1                       -> 0.9.1
 * [new tag]               2020.51.1                   -> 2020.51.1
 * [new tag]               4.1.0                       -> 4.1.0
 * [new tag]               4.1.0rc1                    -> 4.1.0rc1
 * [new tag]               4.1.0rc2                    -> 4.1.0rc2
 * [new tag]               4.1.0rc3                    -> 4.1.0rc3
 * [new tag]               4.1.0rc4                    -> 4.1.0rc4
 * [new tag]               4.1.1                       -> 4.1.1
 * [new tag]               4.1.1rc1                    -> 4.1.1rc1
 * [new tag]               4.1.2rc1                    -> 4.1.2rc1
 * [new tag]               airbnb_prod.0.10.0.2        -> airbnb_prod.0.10.0.2
 * [new tag]               airbnb_prod.0.11.0.1        -> airbnb_prod.0.11.0.1
 * [new tag]               airbnb_prod.0.11.0.2        -> airbnb_prod.0.11.0.2
 * [new tag]               airbnb_prod.0.11.0.3        -> airbnb_prod.0.11.0.3
 * [new tag]               airbnb_prod.0.11.0.4        -> airbnb_prod.0.11.0.4
 * [new tag]               airbnb_prod.0.11.0.5        -> airbnb_prod.0.11.0.5
 * [new tag]               airbnb_prod.0.11.0.6        -> airbnb_prod.0.11.0.6
 * [new tag]               airbnb_prod.0.12.0.1        -> airbnb_prod.0.12.0.1
 * [new tag]               airbnb_prod.0.12.1.0        -> airbnb_prod.0.12.1.0
 * [new tag]               airbnb_prod.0.13.0.0        -> airbnb_prod.0.13.0.0
 * [new tag]               airbnb_prod.0.13.0.1        -> airbnb_prod.0.13.0.1
 * [new tag]               airbnb_prod.0.13.0.2        -> airbnb_prod.0.13.0.2
 * [new tag]               airbnb_prod.0.13.0.3        -> airbnb_prod.0.13.0.3
 * [new tag]               airbnb_prod.0.15.0.1        -> airbnb_prod.0.15.0.1
 * [new tag]               airbnb_prod.0.15.4.1        -> airbnb_prod.0.15.4.1
 * [new tag]               airbnb_prod.0.15.4.2        -> airbnb_prod.0.15.4.2
 * [new tag]               airbnb_prod.0.15.5.0        -> airbnb_prod.0.15.5.0
 * [new tag]               dummy                       -> dummy
 * [new tag]               rm                          -> rm
 * [new tag]               superset-helm-chart-0.1.0   -> superset-helm-chart-0.1.0
 * [new tag]               superset-helm-chart-0.1.1   -> superset-helm-chart-0.1.1
 * [new tag]               superset-helm-chart-0.1.2   -> superset-helm-chart-0.1.2
 * [new tag]               superset-helm-chart-0.1.3   -> superset-helm-chart-0.1.3
 * [new tag]               superset-helm-chart-0.1.4   -> superset-helm-chart-0.1.4
 * [new tag]               superset-helm-chart-0.1.5   -> superset-helm-chart-0.1.5
 * [new tag]               superset-helm-chart-0.1.6   -> superset-helm-chart-0.1.6
 * [new tag]               superset-helm-chart-0.10.0  -> superset-helm-chart-0.10.0
 * [new tag]               superset-helm-chart-0.10.1  -> superset-helm-chart-0.10.1
 * [new tag]               superset-helm-chart-0.10.10 -> superset-helm-chart-0.10.10
 * [new tag]               superset-helm-chart-0.10.11 -> superset-helm-chart-0.10.11
 * [new tag]               superset-helm-chart-0.10.12 -> superset-helm-chart-0.10.12
 * [new tag]               superset-helm-chart-0.10.13 -> superset-helm-chart-0.10.13
 * [new tag]               superset-helm-chart-0.10.14 -> superset-helm-chart-0.10.14
 * [new tag]               superset-helm-chart-0.10.15 -> superset-helm-chart-0.10.15
 * [new tag]               superset-helm-chart-0.10.2  -> superset-helm-chart-0.10.2
 * [new tag]               superset-helm-chart-0.10.3  -> superset-helm-chart-0.10.3
 * [new tag]               superset-helm-chart-0.10.4  -> superset-helm-chart-0.10.4
 * [new tag]               superset-helm-chart-0.10.5  -> superset-helm-chart-0.10.5
 * [new tag]               superset-helm-chart-0.10.6  -> superset-helm-chart-0.10.6
 * [new tag]               superset-helm-chart-0.10.7  -> superset-helm-chart-0.10.7
 * [new tag]               superset-helm-chart-0.10.8  -> superset-helm-chart-0.10.8
 * [new tag]               superset-helm-chart-0.10.9  -> superset-helm-chart-0.10.9
 * [new tag]               superset-helm-chart-0.11.0  -> superset-helm-chart-0.11.0
 * [new tag]               superset-helm-chart-0.11.1  -> superset-helm-chart-0.11.1
 * [new tag]               superset-helm-chart-0.11.2  -> superset-helm-chart-0.11.2
 * [new tag]               superset-helm-chart-0.12.0  -> superset-helm-chart-0.12.0
 * [new tag]               superset-helm-chart-0.12.1  -> superset-helm-chart-0.12.1
 * [new tag]               superset-helm-chart-0.12.10 -> superset-helm-chart-0.12.10
 * [new tag]               superset-helm-chart-0.12.11 -> superset-helm-chart-0.12.11
 * [new tag]               superset-helm-chart-0.12.2  -> superset-helm-chart-0.12.2
 * [new tag]               superset-helm-chart-0.12.3  -> superset-helm-chart-0.12.3
 * [new tag]               superset-helm-chart-0.12.4  -> superset-helm-chart-0.12.4
 * [new tag]               superset-helm-chart-0.12.5  -> superset-helm-chart-0.12.5
 * [new tag]               superset-helm-chart-0.12.6  -> superset-helm-chart-0.12.6
 * [new tag]               superset-helm-chart-0.12.7  -> superset-helm-chart-0.12.7
 * [new tag]               superset-helm-chart-0.12.8  -> superset-helm-chart-0.12.8
 * [new tag]               superset-helm-chart-0.12.9  -> superset-helm-chart-0.12.9
 * [new tag]               superset-helm-chart-0.2.0   -> superset-helm-chart-0.2.0
 * [new tag]               superset-helm-chart-0.2.1   -> superset-helm-chart-0.2.1
 * [new tag]               superset-helm-chart-0.3.0   -> superset-helm-chart-0.3.0
 * [new tag]               superset-helm-chart-0.3.1   -> superset-helm-chart-0.3.1
 * [new tag]               superset-helm-chart-0.3.10  -> superset-helm-chart-0.3.10
 * [new tag]               superset-helm-chart-0.3.11  -> superset-helm-chart-0.3.11
 * [new tag]               superset-helm-chart-0.3.12  -> superset-helm-chart-0.3.12
 * [new tag]               superset-helm-chart-0.3.2   -> superset-helm-chart-0.3.2
 * [new tag]               superset-helm-chart-0.3.3   -> superset-helm-chart-0.3.3
 * [new tag]               superset-helm-chart-0.3.4   -> superset-helm-chart-0.3.4
 * [new tag]               superset-helm-chart-0.3.5   -> superset-helm-chart-0.3.5
 * [new tag]               superset-helm-chart-0.3.6   -> superset-helm-chart-0.3.6
 * [new tag]               superset-helm-chart-0.3.7   -> superset-helm-chart-0.3.7
 * [new tag]               superset-helm-chart-0.3.8   -> superset-helm-chart-0.3.8
 * [new tag]               superset-helm-chart-0.3.9   -> superset-helm-chart-0.3.9
 * [new tag]               superset-helm-chart-0.4.0   -> superset-helm-chart-0.4.0
 * [new tag]               superset-helm-chart-0.5.0   -> superset-helm-chart-0.5.0
 * [new tag]               superset-helm-chart-0.5.1   -> superset-helm-chart-0.5.1
 * [new tag]               superset-helm-chart-0.5.10  -> superset-helm-chart-0.5.10
 * [new tag]               superset-helm-chart-0.5.2   -> superset-helm-chart-0.5.2
 * [new tag]               superset-helm-chart-0.5.3   -> superset-helm-chart-0.5.3
 * [new tag]               superset-helm-chart-0.5.4   -> superset-helm-chart-0.5.4
 * [new tag]               superset-helm-chart-0.5.5   -> superset-helm-chart-0.5.5
 * [new tag]               superset-helm-chart-0.5.6   -> superset-helm-chart-0.5.6
 * [new tag]               superset-helm-chart-0.5.7   -> superset-helm-chart-0.5.7
 * [new tag]               superset-helm-chart-0.5.8   -> superset-helm-chart-0.5.8
 * [new tag]               superset-helm-chart-0.5.9   -> superset-helm-chart-0.5.9
 * [new tag]               superset-helm-chart-0.6.0   -> superset-helm-chart-0.6.0
 * [new tag]               superset-helm-chart-0.6.1   -> superset-helm-chart-0.6.1
 * [new tag]               superset-helm-chart-0.6.2   -> superset-helm-chart-0.6.2
 * [new tag]               superset-helm-chart-0.6.3   -> superset-helm-chart-0.6.3
 * [new tag]               superset-helm-chart-0.6.4   -> superset-helm-chart-0.6.4
 * [new tag]               superset-helm-chart-0.6.5   -> superset-helm-chart-0.6.5
 * [new tag]               superset-helm-chart-0.6.6   -> superset-helm-chart-0.6.6
 * [new tag]               superset-helm-chart-0.7.0   -> superset-helm-chart-0.7.0
 * [new tag]               superset-helm-chart-0.7.1   -> superset-helm-chart-0.7.1
 * [new tag]               superset-helm-chart-0.7.2   -> superset-helm-chart-0.7.2
 * [new tag]               superset-helm-chart-0.7.3   -> superset-helm-chart-0.7.3
 * [new tag]               superset-helm-chart-0.7.4   -> superset-helm-chart-0.7.4
 * [new tag]               superset-helm-chart-0.7.6   -> superset-helm-chart-0.7.6
 * [new tag]               superset-helm-chart-0.7.7   -> superset-helm-chart-0.7.7
 * [new tag]               superset-helm-chart-0.8.0   -> superset-helm-chart-0.8.0
 * [new tag]               superset-helm-chart-0.8.1   -> superset-helm-chart-0.8.1
 * [new tag]               superset-helm-chart-0.8.10  -> superset-helm-chart-0.8.10
 * [new tag]               superset-helm-chart-0.8.2   -> superset-helm-chart-0.8.2
 * [new tag]               superset-helm-chart-0.8.3   -> superset-helm-chart-0.8.3
 * [new tag]               superset-helm-chart-0.8.4   -> superset-helm-chart-0.8.4
 * [new tag]               superset-helm-chart-0.8.5   -> superset-helm-chart-0.8.5
 * [new tag]               superset-helm-chart-0.8.6   -> superset-helm-chart-0.8.6
 * [new tag]               superset-helm-chart-0.8.7   -> superset-helm-chart-0.8.7
 * [new tag]               superset-helm-chart-0.8.8   -> superset-helm-chart-0.8.8
 * [new tag]               superset-helm-chart-0.8.9   -> superset-helm-chart-0.8.9
 * [new tag]               superset-helm-chart-0.9.0   -> superset-helm-chart-0.9.0
 * [new tag]               superset-helm-chart-0.9.1   -> superset-helm-chart-0.9.1
 * [new tag]               superset-helm-chart-0.9.2   -> superset-helm-chart-0.9.2
 * [new tag]               superset-helm-chart-0.9.3   -> superset-helm-chart-0.9.3
 * [new tag]               superset-helm-chart-0.9.4   -> superset-helm-chart-0.9.4
 * [new tag]               test_tag                    -> test_tag
 * [new tag]               v2020.51.0                  -> v2020.51.0
 * [new tag]               v2021.10.0                  -> v2021.10.0
 * [new tag]               v2021.13.0                  -> v2021.13.0
 * [new tag]               v2021.15.0                  -> v2021.15.0
 * [new tag]               v2021.17.0                  -> v2021.17.0
 * [new tag]               v2021.18.0                  -> v2021.18.0
 * [new tag]               v2021.19.0                  -> v2021.19.0
 * [new tag]               v2021.20.0                  -> v2021.20.0
 * [new tag]               v2021.21.0                  -> v2021.21.0
 * [new tag]               v2021.22.0                  -> v2021.22.0
 * [new tag]               v2021.23.0                  -> v2021.23.0
 * [new tag]               v2021.23.1                  -> v2021.23.1
 * [new tag]               v2021.24.0                  -> v2021.24.0
 * [new tag]               v2021.25.0                  -> v2021.25.0
 * [new tag]               v2021.27.0                  -> v2021.27.0
 * [new tag]               v2021.27.1                  -> v2021.27.1
 * [new tag]               v2021.29.0                  -> v2021.29.0
 * [new tag]               v2021.3.0                   -> v2021.3.0
 * [new tag]               v2021.31.0                  -> v2021.31.0
 * [new tag]               v2021.34.0                  -> v2021.34.0
 * [new tag]               v2021.35.0                  -> v2021.35.0
 * [new tag]               v2021.36.0                  -> v2021.36.0
 * [new tag]               v2021.36.5                  -> v2021.36.5
 * [new tag]               v2021.38.0                  -> v2021.38.0
 * [new tag]               v2021.40.0                  -> v2021.40.0
 * [new tag]               v2021.41.0                  -> v2021.41.0
 * [new tag]               v2021.5.0                   -> v2021.5.0
 * [new tag]               v2021.5.1                   -> v2021.5.1
 * [new tag]               v2021.6.0                   -> v2021.6.0
 * [new tag]               v2021.7.0                   -> v2021.7.0
 * [new tag]               v2021.8.0                   -> v2021.8.0
 * [new tag]               v2021.9.0                   -> v2021.9.0
 * [new tag]               v2021.9.4                   -> v2021.9.4

:)

Comment From: ray73864

docker compose -f docker-compose-image-tag.yml up

I made sure I deleted all the volumes created in the past so that it should be clean, despite all that, I still have 'Development' in big red, and an example database.

I feel like the docker-compose file is ignoring the export TAG=4.1.2 and just using the 'local-dev' instead.

Comment From: mistercrunch

Oh it sounds like you're expecting the development tag to not show, but it's actually expected to be there when using any docker-compose set up. If you want to confirm the version, it might show at the bottom right of the Settings menu.

Comment From: ray73864

Yeah, I don't want it there at all, it's unprofessional if I was to give it to a sales person, etc...

Comment From: mistercrunch

Running in docker compose is the part that's "unprofessional" - the way it's set up in the repo it's not meant to support production use cases. Check out helm/k8s or minikube if you're less ambitious

Comment From: ray73864

The server is a virtual machine running on VMWare ESXI, I don't see 'docker' as unprofessional, it's the easiest way to do what I need as I have other docker containers I am utilising for various things too.

I also don't have the time or patience to learn helm/k8s, tried it with my homelab running TrueNAS Scale + TrueCharts and quite frankly didn't enjoy it one bit.

The whole point of going with docker was isolation of each 'system' per-se.

It would be nice if even in the 'docker' setup, the 'Development' could be removed, that should be users choice.

My intention of trying Superset was because I didn't like Metabase, and I'm hoping to try something that moves us away from Phocas.

Comment From: mistercrunch

Docker is great, it's part of the foundation of much of what we do.

Now our docker-compose is a bit shallow and ourdocker-compose.*.yml files, in this repo, are meant to support development and "sandboxing" use cases (like trying a version locally, or running a proof of concept of some kind). So it's a mix of docker compose not being a proper orchestrator to support production services (though one could probably do that if they wanted) and the way we built our own docker-compose files here.

minikube seemed pretty decent as a single-instance alternative, maybe we need to improve our docs there. Last I tried it took a few commands to run.

Comment From: mistercrunch

One last thing, if you go the docker-compose route (wouldn't recommend and won't support personally) you can easily remove the development tag - though I'd pay special attention to the metadata database - make sure it's persisted/backed-up somehow.

Comment From: rusackas

Closing this as "question answered" / not-planned. We don't currently advocate using docker compose in prod... even if you theoretically can.