Skip to content

docs: add how-to on deploying with docker compose#2019

Merged
chenba merged 3 commits into
masterfrom
docs/how-to-deploy-docker-compose-STOR-118
Jan 26, 2026
Merged

docs: add how-to on deploying with docker compose#2019
chenba merged 3 commits into
masterfrom
docs/how-to-deploy-docker-compose-STOR-118

Conversation

@chenba
Copy link
Copy Markdown
Collaborator

@chenba chenba commented Jan 26, 2026

Update docs with a simple how-to on deploying with docker compose.

Closes STOR-118 / #1428

@@ -1,126 +1 @@
<a id="howto_run_fxa"></a>

# Run Your Own Mozilla Accounts Server (Outdated)
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No reason to this around.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should delete the whole file then?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh oops, I thought I did it. Not sure how that happened. Thanks.

@chenba chenba requested review from pjenvey and taddes January 26, 2026 13:44
Copy link
Copy Markdown
Collaborator

@taddes taddes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a couple suggestions. Thx for doing this.

Comment on lines +111 to +114
1. Go to `about:config` in Firefox.
1. Find the `identity.sync.tokenserver.uri` configuration.
1. Change the value to `http://localhost:8000/1.0/sync/1.5`.
1. Restart Firefox.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Go to `about:config` in Firefox.
1. Find the `identity.sync.tokenserver.uri` configuration.
1. Change the value to `http://localhost:8000/1.0/sync/1.5`.
1. Restart Firefox.
1. Go to `about:config` in Firefox.
2. Find the `identity.sync.tokenserver.uri` configuration.
3. Change the value to `http://localhost:8000/1.0/sync/1.5`.
4. Restart Firefox.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The markdown renderer can handle it.

@@ -1,126 +1 @@
<a id="howto_run_fxa"></a>

# Run Your Own Mozilla Accounts Server (Outdated)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should delete the whole file then?

```

Note that multiple values will be read from the environment:
- `SYNC_MASTER_SECRET`: a secret used in cryptographic operations
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the e2e tests, we use secret0. Perhaps we can suggest here that for active use, it should be a proper crypto key, but can be something simpler like a string password. It may possibly confuse someone that this value has to be generated somehow or needs to be something special. Kinda like what you did below with use_your_own_secret_4d3d3d3d, just a clarifying sentence.

- `SYNC_SYNCSTORAGE__DATABASE_URL`: database URL for syncstorage, e.g. `mysql://sync:test@example.io/syncstorage` or `postgres://testo:@localhost/syncdb`
- `SYNC_TOKENSERVER__DATABASE_URL`: database URL for tokenserver, e.g. `mysql://sync:test@example.io/tokenserver` or `postgres://testo:@localhost/syncdb`

The values can be directly written into the yaml as well.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If someone will use env variables, perhaps there should be a suggestion or recommendation on how best to pass said ENV vars? Putting the settings in the yaml is certainly easiest. We may not need to decide this here, but we should probably come up with a best practice on how to set and pass env vars, whether it be in the local.toml or when invoking the service in terminal, or dotenv.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair enough, I'll leave it up to you. I've been zealously wanting to make stuff as crystal clear as possible after wading though so much unclear documentation heh

Copy link
Copy Markdown
Collaborator Author

@chenba chenba Jan 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe by the time someone wants to self-host Sync they likely have experience with environment/shell variables. Or if we do not believe that to be true, then we should (resource permitting) provide something they can copy and paste to get the service running. I don't think teaching about env vars (or reverse proxy, or certs, etc.) should be a goal here.

Copy link
Copy Markdown
Collaborator

@taddes taddes Jan 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright 👍

@chenba chenba force-pushed the docs/how-to-deploy-docker-compose-STOR-118 branch from c9e46b3 to de08b03 Compare January 26, 2026 18:18
@chenba chenba merged commit 11659d9 into master Jan 26, 2026
30 checks passed
@chenba chenba deleted the docs/how-to-deploy-docker-compose-STOR-118 branch January 26, 2026 21:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants