mirror of https://github.com/apache/superset.git
Ease switching of database engines for docker builds (#8863)
This commit is contained in:
parent
3a468a53d9
commit
d0efd0e4c9
|
@ -19,7 +19,7 @@ x-superset-build: &superset-build
|
|||
dockerfile: Dockerfile
|
||||
target: dev
|
||||
x-superset-depends-on: &superset-depends-on
|
||||
- postgres
|
||||
- db
|
||||
- redis
|
||||
x-superset-volumes: &superset-volumes
|
||||
# /app/pythonpath_docker will be appended to the PYTHONPATH in the final container
|
||||
|
@ -38,14 +38,14 @@ services:
|
|||
volumes:
|
||||
- redis:/data
|
||||
|
||||
postgres:
|
||||
db:
|
||||
env_file: docker/.env
|
||||
image: postgres:10
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:5432:5432"
|
||||
volumes:
|
||||
- postgres:/var/lib/postgresql/data
|
||||
- db_home:/var/lib/postgresql/data
|
||||
|
||||
superset:
|
||||
build: *superset-build
|
||||
|
@ -82,7 +82,7 @@ services:
|
|||
volumes:
|
||||
superset_home:
|
||||
external: false
|
||||
postgres:
|
||||
db_home:
|
||||
external: false
|
||||
redis:
|
||||
external: false
|
||||
|
|
24
docker/.env
24
docker/.env
|
@ -15,11 +15,25 @@
|
|||
# limitations under the License.
|
||||
#
|
||||
COMPOSE_PROJECT_NAME=superset
|
||||
POSTGRES_DB=superset
|
||||
POSTGRES_HOST=postgres
|
||||
POSTGRES_PASSWORD=superset
|
||||
POSTGRES_PORT=5432
|
||||
POSTGRES_USER=superset
|
||||
|
||||
# database configurations (do not modify)
|
||||
DATABASE_DB=superset
|
||||
DATABASE_HOST=db
|
||||
DATABASE_PASSWORD=superset
|
||||
DATABASE_USER=superset
|
||||
|
||||
# database engine specific environment variables
|
||||
# change the below if you prefers another database engine
|
||||
DATABASE_PORT=5432
|
||||
DATABASE_DIALECT=postgresql
|
||||
POSTGRES_DB=${DATABASE_DB}
|
||||
POSTGRES_USER=${DATABASE_USER}
|
||||
POSTGRES_PASSWORD=${DATABASE_PASSWORD}
|
||||
#MYSQL_DATABASE=${DATABASE_DB}
|
||||
#MYSQL_USER=${DATABASE_USER}
|
||||
#MYSQL_PASSWORD=${DATABASE_PASSWORD}
|
||||
#MYSQL_RANDOM_ROOT_PASSWORD=yes
|
||||
|
||||
# Add the mapped in /app/pythonpath_docker which allows devs to override stuff
|
||||
PYTHONPATH=/app/pythonpath:/app/pythonpath_docker
|
||||
REDIS_HOST=redis
|
||||
|
|
|
@ -45,19 +45,21 @@ def get_env_variable(var_name, default=None):
|
|||
raise EnvironmentError(error_msg)
|
||||
|
||||
|
||||
POSTGRES_USER = get_env_variable("POSTGRES_USER")
|
||||
POSTGRES_PASSWORD = get_env_variable("POSTGRES_PASSWORD")
|
||||
POSTGRES_HOST = get_env_variable("POSTGRES_HOST")
|
||||
POSTGRES_PORT = get_env_variable("POSTGRES_PORT")
|
||||
POSTGRES_DB = get_env_variable("POSTGRES_DB")
|
||||
DATABASE_DIALECT = get_env_variable("DATABASE_DIALECT")
|
||||
DATABASE_USER = get_env_variable("DATABASE_USER")
|
||||
DATABASE_PASSWORD = get_env_variable("DATABASE_PASSWORD")
|
||||
DATABASE_HOST = get_env_variable("DATABASE_HOST")
|
||||
DATABASE_PORT = get_env_variable("DATABASE_PORT")
|
||||
DATABASE_DB = get_env_variable("DATABASE_DB")
|
||||
|
||||
# The SQLAlchemy connection string.
|
||||
SQLALCHEMY_DATABASE_URI = "postgresql://%s:%s@%s:%s/%s" % (
|
||||
POSTGRES_USER,
|
||||
POSTGRES_PASSWORD,
|
||||
POSTGRES_HOST,
|
||||
POSTGRES_PORT,
|
||||
POSTGRES_DB,
|
||||
SQLALCHEMY_DATABASE_URI = "%s://%s:%s@%s:%s/%s" % (
|
||||
DATABASE_DIALECT,
|
||||
DATABASE_USER,
|
||||
DATABASE_PASSWORD,
|
||||
DATABASE_HOST,
|
||||
DATABASE_PORT,
|
||||
DATABASE_DB,
|
||||
)
|
||||
|
||||
REDIS_HOST = get_env_variable("REDIS_HOST")
|
||||
|
|
Loading…
Reference in New Issue