Files
ilnmors-homelab/docs/archives/services/app/romm/romm.container.j2
T
2026-08-29 20:31:53 +09:00

81 lines
2.5 KiB
Django/Jinja

[Quadlet]
DefaultDependencies=false
[Unit]
Description=RomM
After=redis_romm.service
Wants=redis_romm.service
[Container]
Image=docker.io/rommapp/romm:{{ version['containers']['romm'] }}
ContainerName=romm
HostName=romm
PublishPort={{ services['romm']['ports']['http'] }}:8080/tcp
# Volumes
Volume=%h/data/containers/romm/library:/romm/library:rw
Volume=%h/data/containers/romm/resources:/romm/resources:rw
Volume=%h/data/containers/romm/assets:/romm/assets:rw
Volume=%h/containers/romm/ssl:/etc/ssl/romm:ro
# General
Environment="TZ={{ timezone }}"
Environment="ROMM_BASE_URL=https://{{ services['romm']['domain']['public'] }}.{{ domain['public'] }}"
Environment="DISABLE_SETUP_WIZARD=true"
Environment="DISABLE_USERPASS_LOGIN=true"
# Secrets
Secret=ROMM_AUTH_SECRET_KEY,type=env,target=ROMM_AUTH_SECRET_KEY
# Database
Environment="ROMM_DB_DRIVER=postgresql"
Environment="DB_HOST={{ services['postgresql']['domain']['internal'] }}.{{ domain['internal'] }}"
Environment="DB_PORT={{ services['postgresql']['ports']['tcp'] }}"
Environment="DB_NAME=romm_db"
Environment="DB_USER=romm"
Environment="PGSSLMODE=verify-full"
Environment="PGSSLROOTCERT=/etc/ssl/romm/{{ root_cert_filename }}"
Secret=ROMM_DATABASE_PASSWORD,type=env,target=DB_PASSWD
# Redis
Environment="REDIS_HOST=host.containers.internal"
Environment="REDIS_PORT={{ services['romm']['ports']['redis'] }}"
# OIDC
Environment="OIDC_ENABLED=true"
Environment="OIDC_PROVIDER=authelia"
Environment="OIDC_CLIENT_ID=romm"
Environment="OIDC_REDIRECT_URI=https://{{ services['romm']['domain']['public'] }}.{{ domain['public'] }}/api/oauth/openid"
Environment="OIDC_SERVER_APPLICATION_URL=https://{{ services['authelia']['domain']['public'] }}.{{ domain['public'] }}"
Environment="OIDC_USERNAME_ATTRIBUTE=preferred_username"
Environment="OIDC_ALLOW_REGISTRATION=true"
Environment="OIDC_CLAIM_ROLES=groups"
Environment="OIDC_ROLE_ADMIN=admins"
Environment="OIDC_ROLE_VIEWER=users"
Environment="OIDC_AUTOLOGIN=false"
Secret=ROMM_OIDC_CLIENT_SECRET,type=env,target=OIDC_CLIENT_SECRET
# Players
Environment="DISABLE_EMULATOR_JS=false"
Environment="DISABLE_RUFFLE_RS=false"
# Metadata
Environment="HASHEOUS_API_ENABLED=true"
#Environment="PLAYMATCH_API_ENABLED=true"
# Optional
Environment="LOGLEVEL=INFO"
Environment="DISABLE_LOGS_VIEWER=true"
[Service]
ExecStartPre=/usr/bin/nc -zv {{ services['postgresql']['domain']['internal'] }}.{{ domain['internal'] }} {{ services['postgresql']['ports']['tcp'] }}
Restart=always
RestartSec=10s
TimeoutStopSec=120
[Install]
WantedBy=default.target