services: activitypub: build: . volumes: - ./src:/opt/activitypub/src environment: - PORT=8080 - MYSQL_USER=ghost - MYSQL_PASSWORD=password - MYSQL_HOST=mysql - MYSQL_PORT=3306 - MYSQL_DATABASE=activitypub command: node --import tsx --watch src/app.ts depends_on: mysql: condition: service_healthy nginx: build: nginx ports: - "80:80" depends_on: - activitypub mysql: image: mysql:lts environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_USER=ghost - MYSQL_PASSWORD=password - MYSQL_DATABASE=activitypub ports: - "3307:3306" healthcheck: test: "mysql -ughost -ppassword activitypub -e 'select 1'" interval: 1s retries: 120