Scale up as you grow — whether you're running one virtual machine or ten thousand.

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.

I have a Django Application running with docker on a droplet.
I have a Redis and an Elastic search service running from docker which I obviously would like to keep the data from instead of just rm the directory. My database is a DO managed instance.
I already have a non-root user setup along with an ssh key on my GitHub for that user.
Is there any documentation on DO or one that you would recommend to set this up?
Here’s my current workflow:
name: CI/CD
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
CI:
runs-on: ubuntu-latest
environment: Django Test
services:
elasticsearch:
image: elasticsearch:7.17.9
ports:
- "9200:9200"
options: -e="discovery.type=single-node" --health-cmd="curl http://localhost:9200/_cluster/health" --health-interval=10s --health-timeout=5s --health-retries=10
postgres:
image: postgres:13
env:
POSTGRES_USER: postgres
POSTGRES_DB: postgres
POSTGRES_PASSWORD: postgres
ports:
- 5433:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
strategy:
max-parallel: 4
matrix:
python-version: ["3.10"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run Tests
env:
SECRET_KEY: ${{ secrets.SECRET_KEY }}
POSTGRES_NAME: ${{ secrets.POSTGRES_NAME }}
POSTGRES_USER: ${{ secrets.POSTGRES_USER }}
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
POSTGRES_PORT: ${{ secrets.POSTGRES_PORT }}
DJANGO_SETTINGS_MODULE: ${{ secrets.DJANGO_SETTINGS_MODULE }}
CELERY_BROKER_URL: ${{ secrets.CELERY_BROKER_URL }}
YOUTUBE_V3_API_KEY: ${{ secrets.YOUTUBE_V3_API_KEY}}
run: |
coverage run manage.py test && coverage report --fail-under=90
lwmeozrcbh
d1dd3d9538cc4d06b53e6d1d338d3f
50ff4e4b3c6c4999a12403b1ecda95
a6309a057c3f4cb38fb2e7feb67236
72e571841e7f4a6881090a2f3e93c0
7ce6bf277bff4d429ba493dd750e35
57a72a98162f46a5a5cd04d9b
Thomas Brocken
11575c6d695643cdb40ad47d0f1aea
tez.saad