Skip to content

Instantly share code, notes, and snippets.

@avdept
Created November 10, 2025 10:33
Show Gist options
  • Select an option

  • Save avdept/b70d9e557de9619704573e3f6c7e0a6f to your computer and use it in GitHub Desktop.

Select an option

Save avdept/b70d9e557de9619704573e3f6c7e0a6f to your computer and use it in GitHub Desktop.
cap.so docker compose + digital ocean spaces
name: cap-so-docker
services:
cap-web:
container_name: cap-web
image: ghcr.io/capsoftware/cap-web:latest
restart: unless-stopped
environment:
DATABASE_URL: 'mysql://root:CHANGE_ME@db:3306/capso?ssl={"rejectUnauthorized":false}'
WEB_URL: http://localhost:3000
NEXTAUTH_URL: http://localhost:3000
DATABASE_ENCRYPTION_KEY: CHANGE_ME
NEXTAUTH_SECRET: CHANGE_ME
# DIGITAL OCEAN SPACES CONFIG
CAP_AWS_ACCESS_KEY: ACCESS_KEY_ID
CAP_AWS_SECRET_KEY: ACCESS_KEY_SECRET
CAP_AWS_BUCKET: BUCKET_NAME
CAP_AWS_REGION: REGION
S3_PUBLIC_ENDPOINT: https://ams3.digitaloceanspaces.com
S3_INTERNAL_ENDPOINT: https://ams3.digitaloceanspaces.com
S3_PATH_STYLE: "true"
CAP_AWS_BUCKET_URL: https://#{REPLACE_TO_BUCKET}.#{REPLACE_TO:REGION}.digitaloceanspaces.com
ports:
- 3000:3000
db:
container_name: cap-primary-db
image: mysql:8.0
restart: unless-stopped
environment:
MYSQL_DATABASE: capso
MYSQL_ROOT_HOST: "%"
MYSQL_ROOT_PASSWORD: CHANGE_ME
MYSQL_ALLOW_EMPTY_PASSWORD: "no"
command:
[
"--max_connections=1000",
"--default-authentication-plugin=mysql_native_password",
]
ports:
- "3306:3306"
volumes:
- db:/var/lib/mysql
volumes:
db:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment