# The configuration of the Feed Studio (studio.compose.yml reads it). Copy to `.env` next to the compose file and # adjust. The values below are placeholders. # Public addresses, one hostname: the frontend forwards /api/ to the API (STUDIO_API_UPSTREAM, the default # http://api:8080 is the stack's own api service), so the user's PDS shows the frontend's domain on its sign-in page. # Both must be reachable from the internet (the PDS fetches the OAuth client metadata from , and apps read the # feeds from it) and served over https by your reverse proxy, which only has to forward this one hostname to the web port. STUDIO_FRONTEND_URL=https://studio.example.com STUDIO_API_URL=https://studio.example.com/api # Alternative with two hostnames on the same level (a wildcard certificate doesn't cover a deeper name): switch the # forwarding off with an empty upstream and give the API a name of its own. # STUDIO_API_URL=https://studio-api.example.com # STUDIO_API_UPSTREAM= # DID (did:plc:...) of the first admin; several: comma-separated. Admins add the accounts that may use the Studio # (registration is closed). Only used while there is no admin yet - after that the list is managed in the Studio. STUDIO_ADMIN_DIDS=did:plc:change-me # Password of the database (the stack's own postgres). STUDIO_DATABASE_PASSWORD=change-me # Optional. Signing keys that make the Studio a confidential OAuth client (private_key_jwt), see MEDIATRACKER_OAUTH_CLIENT_KEYS # in the Mediatracker's .env.example (same format, make a separate key). # STUDIO_OAUTH_CLIENT_KEYS= # Optional. The name of the Studio, shown in the page title and on the login of the PDS. # STUDIO_APP_NAME=Feed Studio # Who serves the feeds, as the declarations in the accounts' repositories name it, and where. The endpoint is # STUDIO_API_URL unless STUDIO_PUBLIC_URL says otherwise. The DID is never derived: an administrator chooses it in the # Studio under Administration > Service identity (make a did:plc, independent of any domain, or - in the advanced mode - # use a DID of one's own), or sets STUDIO_SERVICE_DID here (a DID set here is only used while the administrator has # chosen none). Changing the DID later orphans the declarations already published. # STUDIO_SERVICE_DID=did:web:studio-api.example.com # STUDIO_PUBLIC_URL=https://studio-api.example.com # The most titles one list may hold (default 10000). # STUDIO_MAX_ITEMS_PER_LIST=10000 # Lists can be filled from a datasource (an administrator builds them in the administration; a few come with the # Studio: MyAnimeList seasons need nothing, TMDB needs a key that is entered there as the datasource's secret, not here). # Set to false to stop the rules from running by themselves (a rule can still be run by hand). # STUDIO_RULES_ENABLED=true # Defaults of the frontend for visitors who haven't chosen: a language (en, de) and a theme (system, light, dark). # STUDIO_DEFAULT_LANGUAGE= # STUDIO_DEFAULT_THEME= # Where the ports are published for the reverse proxy; the default only lets the machine itself reach them. # STUDIO_BIND_ADDRESS=127.0.0.1 # STUDIO_API_PORT=13100 # STUDIO_WEB_PORT=13180