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 = defaultdb
You 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
(ornext
)
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:
host
toDB_HOST
port
toDB_PORT
username
toDB_USERNAME
password
toDB_PASSWORD
database
toDB_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
Console
tab - 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
/auth
page 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.