DigitalOcean
DigitalOcean.com is a cloud infrastructure provider that offers simple, scalable, and developer-friendly cloud computing solutions. Required services for deployment:
- App Platform: Platform-as-a-Service (PaaS)
- Managed Databases: MySQL
1. Create Database
Section titled “1. Create Database”Follow https://cloud.digitalocean.com/databases/new and choose MySQL v8 as a database engine.
Start with default settings and tune as you go. After creating a database cluster, see Connection Details for Public network, e.g.:
username = doadminpassword = AVNS_yHuWeSyIc8ZaV7n0yxshost = db-mysql-nyc3-77688-do-user-25711522-0.j.db.ondigitalocean.comport = 25060database = defaultdbYou will use these 👆 credentials later in Section 3. Configure App-Level Environment Variables.
2. Create App
Section titled “2. Create App”Follow https://cloud.digitalocean.com/apps/new?source_provider=ghcr with the following parameters:
- Repository:
owox/owox-data-marts - Image tag or digest:
latest
Start with default settings and tune as you go. After creating an app, you’ll have a Live App URL like https://owox-data-marts-best-enma6.ondigitalocean.app. You will need this URL later.
3. Configure App-Level Environment Variables
Section titled “3. Configure App-Level Environment Variables”👉 Go to App’s Settings tab and edit App-Level Environment Variables (App will be automatically redeployed) via the Bulk Editor button with configuration like that:
Important! Customize the configuration from the example below with your deployment specifics and wait until redeploy:
Step 1. Paste your actual Live App URL to PUBLIC_ORIGIN. E.g. https://owox-data-marts-best-enma6.ondigitalocean.app (make sure there is no / in the end of URL):
Step 2. Paste your actual database credentials for:
hosttoDB_HOSTporttoDB_PORTusernametoDB_USERNAMEpasswordtoDB_PASSWORDdatabasetoDB_DATABASE
Step 3. Use a unique IDP_BETTER_AUTH_SECRET 32-character key that you can generate via openssl rand -base64 32 in a local terminal or another method.
Example:
PUBLIC_ORIGIN=https://owox-data-marts-best-enma6.ondigitalocean.appDB_TYPE=mysqlDB_HOST=db-mysql-nyc3-77688-do-user-25711522-0.j.db.ondigitalocean.comDB_PORT=25060DB_USERNAME=doadminDB_PASSWORD=AVNS_yHuWeSyIc8ZaV7n0yxsDB_DATABASE=defaultdbIDP_PROVIDER=better-authIDP_BETTER_AUTH_SECRET=pw/1VHJStJeLThUeFtHoRlKSdRHHIYKPMnYMSO+86bA=4. Add First Admin
Section titled “4. Add First Admin”- Go to the App’s
Consoletab - Run the command
owox idp add-user user@example.com(use your email instead ofuser@example.com) - Copy the Magic Link from the response and open it in your browser
- Create a password and Log In with your email and password
- Use the
/authpage to manage users within your deployment (e.g.,https://owox-data-marts-best-enma6.ondigitalocean.app/auth)
5. Update Deployment on DigitalOcean
Section titled “5. Update Deployment on DigitalOcean”To keep your owox-data-marts up to date with the latest fixes and improvements, make sure you are always running the most recent version.
To update your deployment, go to your App in DigitalOcean, click Actions → Deploy.