# Help with lsst-tap-service: tap-schema-db container fails to initialize (missing MySQL root password

**URL:** <https://www.rubin.community/t/help-with-lsst-tap-service-tap-schema-db-container-fails-to-initialize-missing-mysql-root-password/9931>\
**Category:** Support\
**Created:** [March 25, 2025, 3:55pm UTC](https://www.rubin.community/t/help-with-lsst-tap-service-tap-schema-db-container-fails-to-initialize-missing-mysql-root-password/9931 "2025-03-25T15:55:09Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![safwanaljbaae](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/safwanaljbaae/32/3199_2.png) [@safwanaljbaae](https://www.rubin.community/u/safwanaljbaae)\
**Post date:** [March 25, 2025, 3:55pm UTC](https://www.rubin.community/t/help-with-lsst-tap-service-tap-schema-db-container-fails-to-initialize-missing-mysql-root-password/9931/1 "2025-03-25T15:55:09Z")

</div>

Hi all,

I’m currently trying to build and run the `lsst-tap-service` Docker environment locally, using the official [lsst-tap-service GitHub repository](https://github.com/lsst-sqre/lsst-tap-service).

Most of the containers start up successfully with `docker-compose`, but the `waitForContainersReady.sh` script gets stuck while waiting for the `tap-schema-db` container to become ready.

When I inspect the container logs using:

```auto
docker logs docker_tap-schema-db_1

```

I see the following error:

```auto
Database is uninitialized and password option is not specified.

```

```auto
You need to specify one of the following environment variables:

```

```auto
- MYSQL_ROOT_PASSWORD

```

```auto
- MYSQL_ALLOW_EMPTY_PASSWORD

```

```auto
- MYSQL_RANDOM_ROOT_PASSWORD

```

I wasn’t able to find any mention in the repository’s documentation about which MySQL root password should be used, or whether any environment variable needs to be set manually.  
Are there recommended values for these environment variables?  
Or is there an `.env` or configuration file that I may be missing?

If credentials are not meant to be shared publicly, I’m happy to follow the appropriate steps to access them securely. I have LSST data access and can provide a reference if needed.

Thanks in advance for your help!

Best regards,  
**Safwan Aljbaae**

---

<div class="post-metadata">

**Author:** ![frossie](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/frossie/32/9_2.png) [@frossie](https://www.rubin.community/u/frossie)\
**Post date:** [March 25, 2025, 4:32pm UTC](https://www.rubin.community/t/help-with-lsst-tap-service-tap-schema-db-container-fails-to-initialize-missing-mysql-root-password/9931/2 "2025-03-25T16:32:18Z")

</div>

The LSST TAP service is deployed via our kubernetes-based infrastructure [phalanx.lsst.io](http://phalanx.lsst.io) which does many things for a workable deployment including managing secrets.

I am not sure what you are trying to do, but if you’re looking to deploy the CADC TAP server (which forms the basis for the current Rubin TAP server) standalone, I suggest you try the upstream: [GitHub - opencadc/tap: client and server implementation of Table Access Protocol (TAP) specification](https://github.com/opencadc/tap)

Also note that this category is for support of Rubin Science Platform users. If you have questions about deploying Rubin Data Services at a data center, try the Data Management / phalanx topic, but bear in mind we lack resources to support community deployments of our software at this point and response might be slow. Also note significant devops experience with managing Kubernetes services is required to operate a Rubin Science Platform as a service, it’s not “Rubin IDAC in a box”.
