diff --git a/apps/docs/pages/guides/self-hosting/docker.mdx b/apps/docs/pages/guides/self-hosting/docker.mdx index 8d655d01b67..6bbdebdd0d6 100644 --- a/apps/docs/pages/guides/self-hosting/docker.mdx +++ b/apps/docs/pages/guides/self-hosting/docker.mdx @@ -39,9 +39,9 @@ After all the services have started you should be able to see them running in th docker compose ps ``` -Now visit [localhost:8000](http://localhost:8000) to start using Supabase Studio. You will be prompted for a username and password. By default, the username is `supabase` and the password is `this_password_is_insecure_and_should_be_updated`. Please update the Dashboard Authentication as soon as possible using the instructions below. +Now visit [localhost:8000](http://localhost:8000) to start using Supabase Studio. You will be prompted for a username and password. By default, the username is `supabase` and the password is `this_password_is_insecure_and_should_be_updated`. Please secure your services as soon as possible using the instructions below. -## Securing your setup +## Securing your services While we provided you with some example secrets for getting started, you should NEVER deploy your Supabase setup using the defaults we have provided. @@ -89,7 +89,7 @@ basicauth_credentials: You will need to restart the services for the changes to take effect. -## Restart +## Restarting all services You can restart services to pick up any configuration changes by running: @@ -99,11 +99,11 @@ docker compose restart Be aware that this will result in downtime while the services are restarting. -## Stop +## Stopping all services You can stop Supabase by running `docker compose stop` in same directory as your `docker-compose.yml` file. -## Uninstall +## Uninstalling You can stop Supabase by running `docker compose down -v` in same directory as your `docker-compose.yml` file. @@ -115,40 +115,18 @@ Each system can be [configured](../self-hosting#configuration) independently. So - Update Storage to use S3 instead of the filesystem backend - Configure Auth with a production-ready SMTP server -### Setting up Edge Functions +### Deploying Edge Functions -Your Functions are stored in `volumes/functions`. The default setup has a `hello` Function that you can invoke on `http://localhost:8000/functions/v1/hello`. You can add new Functions as `volumes/functions//index.ts`. - - -### Using an external database - -We strongly recommend [decoupling your database](../self-hosting#managing-your-database) from `docker-compose` before deploying. -The middleware will run with any PostgreSQL database that has logical replication enabled. The following environment variables should be updated -in the `.env` file to point to your external database: - -```bash .env -POSTGRES_PASSWORD=your-super-secret-and-long-postgres-password - -POSTGRES_HOST=db -POSTGRES_DB=postgres -POSTGRES_USER=postgres -POSTGRES_PORT=5432 -``` - -Once you have done this, you can safely comment out the `db` section of the `docker-compose` file, and remove any instances where the services `depends_on` the `db` image. - -Supabase services require your external database to be initialized with a specific schema. Refer to our [postgres/migrations](https://github.com/supabase/postgres/tree/develop/migrations) repository for instructions on running these migrations. - -Note that you need superuser permission on the postgres role to perform the initial schema migration. Once completed, the postgres role will be demoted to non-superuser to prevent abuse. +Edge Functions are stored in `volumes/functions`. The default setup has a `hello` Function that you can invoke on `http://localhost:8000/functions/v1/hello`. You can add new Functions as `volumes/functions//index.ts`. ### Setting database's `log_min_messages` -By default, `docker compose` sets the database's `log_min_messages` configuration to `fatal` to prevent redundant logs generated by Realtime. -However, you might miss important log messages such as database errors. Configure `log_min_messages` based on your needs. +By default, `docker compose` sets the database's `log_min_messages` configuration to `fatal` to prevent redundant logs generated by Realtime. You can configure `log_min_messages` using any of the Postgres [Severity Levels](https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-SEVERITY-LEVELS). + ### File storage backend on macOS -By default, Storage backend is set to `file`, which is to use local files as the storage backend. To make it work on macOS, you need to choose `VirtioFS` as the Docker container file sharing implementation (in Docker Desktop -> Preferences -> General). +By default, Storage backend is set to `file`, which is to use local files as the storage backend. For macOS compatibility, you need to choose `VirtioFS` as the Docker container file sharing implementation (in Docker Desktop -> Preferences -> General). ### Setting up logging with the Analytics server diff --git a/docker/volumes/api/kong.yml b/docker/volumes/api/kong.yml index d000a5f38ba..d4929d05724 100644 --- a/docker/volumes/api/kong.yml +++ b/docker/volumes/api/kong.yml @@ -28,7 +28,7 @@ acls: basicauth_credentials: - consumer: DASHBOARD username: supabase - password: this_password_is_insecure_and_should_be_updated1 + password: this_password_is_insecure_and_should_be_updated ###