Following the previous configuration steps, your .env.song
file should look similar to the template below:
# ============================# Database Configuration# ============================# PostgreSQL connection detailsSPRING_DATASOURCE_URL=jdbc:postgresql://host.docker.internal:5432/song?stringtype=unspecifiedSPRING_DATASOURCE_USERNAME={{Postgres-Username}}SPRING_DATASOURCE_PASSWORD={{Postgres-Password}}# Flyway migration settingsSPRING_FLYWAY_ENABLED=trueSPRING_FLYWAY_LOCATIONS=classpath:flyway/sql,classpath:db/migration# ============================# Spring Run Profiles# ============================# Active profiles to determine app behavior & configsSPRING_PROFILES_ACTIVE=secure,score-client-cred,kafka# ============================# Keycloak Integration# ============================AUTH_SERVER_INTROSPECTIONURI={{keycloak-host-url}}/realms/{{keycloak-realm}}/apikey/check_api_key/AUTH_SERVER_CLIENTID={{song-client-ID}}AUTH_SERVER_CLIENTSECRET={{song-client-secret}}AUTH_SERVER_TOKENNAME={{API-key-name}}AUTH_SERVER_PROVIDER=keycloakAUTH_SERVER_KEYCLOAK_HOST={{keycloak-host-url}}AUTH_SERVER_KEYCLOAK_REALM={{keycloak-realm}}AUTH_SERVER_SCOPE_STUDY_PREFIX=PROGRAMDATA.AUTH_SERVER_SCOPE_STUDY_SUFFIX=.WRITEAUTH_SERVER_SCOPE_SYSTEM=song.WRITESPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI={{keycloak-host-url}}/realms/{{keycloak-realm}}/protocol/openid-connect/certs# ============================# Ego Integration# ============================AUTH_SERVER_URL={{ego-host-url}}/o/check_api_key/AUTH_SERVER_CLIENTID={{song-client-ID}}AUTH_SERVER_CLIENTSECRET={{song-client-secret}}AUTH_SERVER_TOKENNAME={{API-key}}AUTH_SERVER_SCOPE_STUDY_PREFIX=song.AUTH_SERVER_SCOPE_STUDY_SUFFIX=.WRITEAUTH_SERVER_SCOPE_SYSTEM=song.WRITESPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_PUBLIC_KEY_LOCATION={{ego-host-url}}/oauth/token/public_key# ============================# Score Integration (Required)# ============================SCORE_URL=http://host.docker.internal:8082SCORE_CLIENTCREDENTIALS_ID={{adminId}}SCORE_CLIENTCREDENTIALS_SECRET={{adminSecret}}SCORE_CLIENTCREDENTIALS_TOKENURL={{ego-host-url}}/oauth/tokenSCORE_CLIENTCREDENTIALS_SYSTEMSCOPE=score.WRITE# ============================# ID Management configuration# ============================ID_USELOCAL=true# ============================# Schema Strictness Configuration# ============================SCHEMAS_ENFORCELATEST=true# ============================# Kafka Event Management Configuration# ============================SPRING_KAFKA_BOOTSTRAP-SERVERS={{Kakfa-server-URL}}SPRING_KAFKA_TEMPLATE_DEFAULT-TOPIC=song-analysis
Initiate the Song container using docker run
and mount the .env.song
file:
For Linux (Recommended)
docker run --name Song --env-file .env.song --network=host -d -p 8081:8081 ghcr.io/overture-stack/song-server:latest
For Mac and Windows
docker run --name Song --env-file .env.song -p 8081:8081 ghcr.io/overture-stack/song-server:latest
Song should now be running and accessible at http://localhost:8080/swagger-ui.html#/
.