- API: GET /app/android/latest reads the latest Gitea release (ANDROID_RELEASES_URL, optional token for a private repo) with the APK's SHA-256 from SHA256SUMS; GET /app/android/apk/:name streams that APK. - App (modules/updater): downloads in the background, checks the SHA-256, and installs through PackageInstaller: quietly once when leaving the app (Android 12+), otherwise from the feed banner or Settings > App version. F-Droid builds leave it out and drop the install permissions. - CI: the release notes come from the fastlane changelog; the app shows the part above ---. - Settings: Create-account and Link Spotify buttons for Last.fm and ListenBrainz. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
51 lines
1.8 KiB
Bash
51 lines
1.8 KiB
Bash
# Copy to deploy/production.env on the server and fill in. Never commit the real file.
|
|
|
|
DOMAIN=musicshare.binarygnome.com
|
|
|
|
# openssl rand -hex 32 (hex: the password goes inside a URL, so no / + = characters)
|
|
POSTGRES_PASSWORD=
|
|
# openssl rand -base64 32 (reuse the old key when importing a database, or saved connections break)
|
|
TOKEN_ENCRYPTION_KEY=
|
|
|
|
# Optional: exact "Open in Spotify" links (catalog search only; no user sign-in)
|
|
SPOTIFY_CLIENT_ID=
|
|
SPOTIFY_CLIENT_SECRET=
|
|
LASTFM_API_KEY=
|
|
LASTFM_SHARED_SECRET=
|
|
ODESLI_API_KEY=
|
|
PLEX_CLIENT_ID=musicshare
|
|
APPLE_TEAM_ID=
|
|
APPLE_MUSICKIT_KEY_ID=
|
|
APPLE_MUSICKIT_PRIVATE_KEY=
|
|
|
|
# Optional donation link shown on the website
|
|
DONATION_URL=
|
|
|
|
# Outgoing email (verification, password reset). SMTPS on 465.
|
|
SMTP_HOST=
|
|
SMTP_PORT=465
|
|
SMTP_USER=
|
|
SMTP_PASSWORD=
|
|
MAIL_FROM=musicshare <app@musicshare.binarygnome.com>
|
|
|
|
# Only with docker-compose.behind-proxy.yml (an existing proxy like NPMplus owns 80/443):
|
|
# the ports the proxy forwards to. Use 127.0.0.1 if the proxy runs with host networking,
|
|
# otherwise this server's LAN IP.
|
|
PROXY_BIND=127.0.0.1
|
|
WEB_PORT=3737
|
|
API_PORT=3738
|
|
|
|
# Phone notifications through your own ntfy server (docker-compose.ntfy.yml, docs/PUSH.md).
|
|
# A subdomain pointed at it, e.g. push.example.com.
|
|
NTFY_DOMAIN=
|
|
# Web Push keys (optional; made automatically and kept in the database if empty).
|
|
VAPID_PUBLIC_KEY=
|
|
VAPID_PRIVATE_KEY=
|
|
# Lyrics: LRCLIB (or your own copy of it). Empty turns lyrics off.
|
|
LRCLIB_URL=https://lrclib.net
|
|
|
|
# App updates: the Android app checks the latest Gitea release through the API and updates itself.
|
|
# Empty turns it off. The token needs read access to the repo, and only if the repo is private.
|
|
ANDROID_RELEASES_URL=https://gitea.chrisedwards.tech/api/v1/repos/chris/musicshare/releases/latest
|
|
ANDROID_RELEASES_TOKEN=
|