# 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.svg # port: 4000 services: postgres: image: postgres:15 environment: - POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRE - POSTGRES_USER=$SERVICE_USER_POSTGRE - POSTGRES_DB=azimutt volumes: - azimutt-postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U $SERVICE_USER_POSTGRESQL"] interval: 10s timeout: 5s retries: 5 minio: image: minio/minio:latest command: server /data --console-address ":9001" environment: - SERVICE_FQDN_MINIO_9001 - MINIO_SERVER_URL=$SERVICE_FQDN_MINIO_9001 - MINIO_BROWSER_REDIRECT_URL=$SERVICE_FQDN_MINIO_9001 - 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: 30s timeout: 20s retries: 3 createbuckets: image: minio/mc:latest 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 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 - PHX_SERVER=true - PHX_HOST=$SERVICE_FQDN_AZIMUTT_4000 - PORT=${PORT:-4000} - DATABASE_URL=ecto://$SERVICE_USER_POSTGRESQL:$SERVICE_PASSWORD_POSTGRESQL@postgres/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", "curl", "-f", "http://localhost:${PORT:-4000}/ping"] interval: 30s timeout: 10s retries: 3 start_period: 40s