Skip to content

pruizlezcano/wipstudio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

149 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WIPStudio

Warning

This project is currently under active development. Expect breaking changes, unstable APIs, and missing functionality until the first stable release. Contributions and feedback are welcome!

A self-hosted collaborative platform for music producers to share, review, and gather feedback on audio tracks. Built for teams and artists who need a centralized place to manage work-in-progress recordings with version control and time-stamped comments.

Self-hosted alternative to Highnote, Boombox.

Features

  • Project Management - Organize your music production work into projects
  • Track Versioning - Upload multiple versions of tracks
  • Time-stamped Comments - Leave feedback at specific points in the audio with threaded replies
  • Collaboration - Invite team members via email or shareable links
  • Notifications - In-app and email notifications for new tracks, versions, and comments
  • Authentication - Email/password auth with optional OIDC/SSO support
  • S3 Storage - Store audio files in any S3-compatible storage (AWS S3, RustFS, etc.)

Installation

  1. Download the required files
mkdir wipstudio && cd wipstudio
curl -O https://raw.githubusercontent.com/pruizlezcano/wipstudio/main/docker-compose.yml
curl -O https://raw.githubusercontent.com/pruizlezcano/wipstudio/main/.env.example
mv .env.example .env
  1. Configure

Edit .env with your values (see Configuration below).

  1. Deploy

    docker compose up -d

    This starts WIPStudio, PostgreSQL, RustFS (S3 storage), and Caddy (reverse proxy).

Configuration

All configuration is done via environment variables in .env.

Application

Variable Description
WEB_URL Public URL of your application

Reverse Proxy (Caddy)

Variable Description
S3_HOST S3 service hostname
S3_PORT S3 service port
APP_HOST WIPStudio application hostname
APP_PORT WIPStudio application port

Authentication

Variable Description Default
BETTER_AUTH_SECRET Secret key for session encryption Required
REQUIRE_EMAIL_VERIFICATION Require email verification on sign up false
DISABLE_SIGN_UP Disable new user registration false
DISABLE_EMAIL_PASSWORD_AUTH Disable email/password auth (OIDC only) false

Database

Variable Description
POSTGRES_USER PostgreSQL username
POSTGRES_PASSWORD PostgreSQL password
POSTGRES_DB Database name
DATABASE_URL Full connection string

S3 Storage

Variable Description
S3_ENDPOINT S3 endpoint URL
S3_ACCESS_KEY_ID S3 access key
S3_SECRET_ACCESS_KEY S3 secret key
S3_BUCKET Bucket name for uploads
S3_REGION S3 region

File Upload

Variable Description Default
UPLOAD_CHUNK_SIZE Chunk size for multipart uploads 5242880 (5MB)

Email (Optional)

Variable Description
EMAIL_ENABLED Enable email notifications
SMTP_HOST SMTP server host
SMTP_PORT SMTP server port
SMTP_USER SMTP username
SMTP_PASSWORD SMTP password or app password
EMAIL_FROM From address for emails

OIDC/SSO (Optional)

Variable Description Default
OPENID_ENABLED Enable OIDC authentication false
OPENID_NAME Display name for the provider
OPENID_ID Provider identifier
OPENID_CLIENT_ID OAuth client ID
OPENID_CLIENT_SECRET OAuth client secret
OPENID_REDIRECT_URI OAuth redirect URI
OPENID_DISCOVERY_URL OpenID Connect discovery URL
OPENID_SCOPES OAuth scopes (default: openid profile email)

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

About

Self-hosted alternative to Highnote, Samply, Boombox, etc.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages