All guides

Setup guide NS/G05

How to set up openGym

Run openGym with Docker, create a profile and configure secure phone access.

openGym is the project behind this setup. The local test takes minutes. Passkeys and internet access require the hostname and HTTPS configuration to be correct.

Recommended method
Docker Compose
Difficulty
Beginner
Typical time
15–30 minutes

What you need

  • Docker with Compose
  • About 140 MB for the initial exercise media download
  • A phone or browser
  • An HTTPS domain only if using passkeys remotely

Set it up

  1. Clone and configure

    Copy the example environment file before starting the containers.

    git clone https://github.com/arvids-unavailable/openGym.git
    cd openGym
    cp .env.example .env
  2. Start the prebuilt images

    Pull the current images and launch the stack.

    docker compose pull
    docker compose up -d
  3. Create a profile

    Open http://localhost:8080, create a profile and wait for the exercise media download.

  4. Build one small routine

    Create a two-exercise test workout, log it and confirm the history updates.

  5. Configure remote access only if needed

    Set RP_ID and ORIGIN to the HTTPS hostname exactly as documented. A mismatch is a common cause of passkey failure.

Advertisement

Reserved for launch

Verify it works

Do not call the setup finished until these small tests pass:

  • A profile survives a container restart
  • The test workout appears in history
  • The data directory contains the profile state
  • A copied data directory can restore the profile

Protect the service

  • Back up the complete data directory, including its secret
  • Use HTTPS for passkeys outside localhost
  • Enable invite-only signup before exposing a household instance
  • Keep the young project updated and review changes

Official resources

Videos are supplemental. Use the official documentation for current commands, versions and security guidance.

Related NoSub articleThe openGym first look
Next guideHow to set up Actual Budget