Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker documentation #534

Open
tcpipuk opened this issue Dec 1, 2024 · 1 comment
Open

Docker documentation #534

tcpipuk opened this issue Dec 1, 2024 · 1 comment

Comments

@tcpipuk
Copy link

tcpipuk commented Dec 1, 2024

I'm a bit confused by the Docker requirements, so hoping the docs can be updated a bit to clarify this.

I figured out from the Dockerfile that I need to map /data for storage, but when starting I just get this:

2024-12-01 22:17:37.818814+00:00Failed to load config: failed to read username: EOF
2024-12-01 22:17:37.818835+00:00Please create a username and password for authenticating the web app

I assumed maybe it'd auto-create a config file like the bridges do, but I don't see anything, so can you add a bit somewhere to say what the requirements are for starting?

Ideally it'd help to include an example docker run command (or a docker-compose.yml in the repo) to show the default volume and listening port, etc, as I'm certain other people will try less hard than I did to figure out what they need.

@tcpipuk
Copy link
Author

tcpipuk commented Dec 2, 2024

For any future visitors to this issue, I've PR'd mautrix/docs#79 but it's roughly this:

services:
  gomuks:
    image: dock.mau.dev/tulir/gomuks:latest
    restart: unless-stopped
    ports:
      - "29325:29325"
    volumes:
      - "$HOME/gomuks:/data"

You need to create a config.yaml by default, which requires bringing up the pod interactively (with -it) or running directly like this:

docker run -it --rm \
  -p 29325:29325 \
  -v $HOME/gomuks:/data \
  dock.mau.dev/tulir/gomuks:latest

Note: Some environments (like kubernetes) are likely to repeatedly kill the pod when it fails the healthcheck, but you can always just run the binary elsewhere, generate the config.yaml, then copy it to your preferred location.

Once the config.yaml is created, it's configured to listen with this by default, so you can update to 0.0.0.0 to help a reverse proxy access it:

web:
    listen_address: localhost:29325

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

No branches or pull requests

1 participant