Files
coolify/templates/compose/azimutt.yaml
2024-10-14 15:46:58 +02:00

104 lines
3.2 KiB
YAML

# ignore: true
# documentation: https://docs.azimutt.app/
# slogan: Next-Gen ERD: Design, Explore, Document and Analyze your database.
# tags: erd, entity-relationship diagram, database tool, database schema, diagram
# logo: svgs/azimutt.png
# port: 4000
services:
postgres:
image: postgres:15
environment:
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
- POSTGRES_DB=${POSTGRES_DB:-azimutt}
volumes:
- azimutt-postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 20s
retries: 10
minio:
image: minio/minio:latest
command: server /data --console-address ":9001"
environment:
- MINIO_SERVER_URL=$MINIO_SERVER_URL
- MINIO_BROWSER_REDIRECT_URL=$MINIO_BROWSER_REDIRECT_URL
- MINIO_ROOT_USER=$SERVICE_USER_MINIO
- MINIO_ROOT_PASSWORD=$SERVICE_PASSWORD_MINIO
volumes:
- azimutt-minio-data:/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 5s
timeout: 20s
retries: 10
createbuckets:
image: minio/mc:latest
restart: no
depends_on:
minio:
condition: service_healthy
entrypoint: >
/bin/sh -c "
/usr/bin/mc config host add myminio http://minio:9000 $SERVICE_USER_MINIO $SERVICE_PASSWORD_MINIO;
/usr/bin/mc mb -p myminio/azimutt;
/usr/bin/mc policy download myminio/azimutt;
exit 0;
"
smtp:
image: bytemark/smtp:latest
platform: linux/amd64
environment:
- SERVICE_FQDN_SMTP
- RELAY_HOST=$SERVICE_FQDN_SMTP
- RELAY_PORT=${RELAY_PORT:-587}
- RELAY_USERNAME=$SERVICE_EMAIL_SMTP
- RELAY_PASSWORD=$SERVICE_PASSWORD_SMTP
healthcheck:
test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/25' || exit 1"]
interval: 5s
timeout: 10s
retries: 20
backend:
container_name: azimutt-backend
platform: linux/amd64
image: ghcr.io/azimuttapp/azimutt:main
depends_on:
postgres:
condition: service_healthy
minio:
condition: service_healthy
environment:
- SERVICE_FQDN_AZIMUTT_4000
- SENTRY=false
- PHX_SERVER=true
- PHX_HOST=$SERVICE_URL_AZIMUTT
- PORT=${PORT:-4000}
- DATABASE_URL=ecto://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres/${POSTGRES_DB:-azimutt}
- SECRET_KEY_BASE=${SERVICE_BASE64_64_AZIMUTT}
- FILE_STORAGE_ADAPTER=${FILE_STORAGE_ADAPTER:-s3}
- AUTH_PASSWORD=${AUTH_PASSWORD:-true}
- SKIP_ONBOARDING_FUNNEL=${SKIP_ONBOARDING_FUNNEL:-true}
- SKIP_EMAIL_CONFIRMATION=${SKIP_EMAIL_CONFIRMATION:-true}
- PUBLIC_SITE=${PUBLIC_SITE:-false}
- S3_BUCKET=${S3_BUCKET}
- S3_HOST=${S3_HOST}
- S3_KEY_ID=${S3_KEY_ID}
- S3_KEY_SECRET=${S3_KEY_SECRET}
- EMAIL_ADAPTER=${EMAIL_ADAPTER:-smtp}
- SMTP_RELAY=$SERVICE_FQDN_SMTP
- SMTP_USERNAME=$SERVICE_EMAIL_SMTP
- SMTP_PASSWORD=$SERVICE_PASSWORD_SMTP
- SMTP_PORT=${SMTP_PORT:-587}
healthcheck:
test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/4000' || exit 1"]
interval: 5s
timeout: 10s
retries: 20