Open source API for music service Flowt with MinIO integration for storing images and audio files, and Redis with Postgresql, the application runs inside a Docker container network.
Also look at the frontend application.
-
Install Docker.
-
Create and configure .env file for this example:
POSTGRES_DB=...
POSTGRES_USER=...
POSTGRES_PASSWORD=...
POSTGRES_HOST=...
POSTGRES_PORT=...
POSTGRES_ISOLATION_LEVEL=TRANSACTION_READ_UNCOMMITTED
ADMIN_USERNAME=...
ADMIN_EMAIL=...
ADMIN_PASSWORD=...
MINIO_AUDIO_BUCKET=...
MINIO_USER_AVATAR_BUCKET=...
MINIO_USER_PROFILE_HAT_BUCKET=...
MINIO_SONG_AVATAR_BUCKET=...
MINIO_PLAYLIST_AVATAR_BUCKET=...
MINIO_URL=...
MINIO_ACCESS_KEY=...
MINIO_SECRET_KEY=...
JWT_ACCESS_KEY=...
JWT_REFRESH_KEY=...
JWT_ACCESS_MILLIS_LIFETIME=...
JWT_REFRESH_DAYS_LIFETIME=...
CLIENT_URL=...
APP_URL=...
APP_VERIFY_URL=...
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=...
MAIL_PASSWORD=...
REDIS_HOST=...
REDIS_PASSWORD=...
REDIS_PORT=6379
MAX_FILE_SIZE=100MB
MAX_REQUEST_SIZE=100MB
WEB_CLIENT_GOOGLE_TOKEN_URL=https://accounts.google.com/o/oauth2/token
WEB_CLIENT_GOOGLE_USER_INFO=https://www.googleapis.com/oauth2/v3/userinfo
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
GOOGLE_REDIRECT_URI=...
FACEBOOK_USER_INFO_URL=https://graph.facebook.com/v18.0/me?access_token=%s&fields=%s
- Start application
docker-compose up --build
- Request mapping you can find in file request-mapping.md