57 lines
1.9 KiB
YAML
57 lines
1.9 KiB
YAML
services:
|
|
db:
|
|
image: postgres:15-alpine
|
|
environment:
|
|
POSTGRES_USER: pleroma
|
|
POSTGRES_PASSWORD: pleroma
|
|
POSTGRES_DB: pleroma
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U pleroma -d pleroma"]
|
|
interval: 2s
|
|
timeout: 2s
|
|
retries: 30
|
|
|
|
pleroma:
|
|
image: ${PLEROMA_IMAGE:-git.pleroma.social:5050/pleroma/pleroma:stable}
|
|
environment:
|
|
DB_USER: pleroma
|
|
DB_PASS: pleroma
|
|
DB_NAME: pleroma
|
|
DB_HOST: db
|
|
DB_PORT: 5432
|
|
DOMAIN: localhost
|
|
INSTANCE_NAME: Pleroma E2E
|
|
ADMIN_EMAIL: ${E2E_ADMIN_EMAIL:-admin@example.com}
|
|
NOTIFY_EMAIL: ${E2E_ADMIN_EMAIL:-admin@example.com}
|
|
E2E_ADMIN_USERNAME: ${E2E_ADMIN_USERNAME:-admin}
|
|
E2E_ADMIN_PASSWORD: ${E2E_ADMIN_PASSWORD:-adminadmin}
|
|
E2E_ADMIN_EMAIL: ${E2E_ADMIN_EMAIL:-admin@example.com}
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
volumes:
|
|
- ./docker/pleroma/entrypoint.e2e.sh:/opt/pleroma/entrypoint.e2e.sh:ro
|
|
entrypoint: ["/bin/ash", "/opt/pleroma/entrypoint.e2e.sh"]
|
|
healthcheck:
|
|
# NOTE: "localhost" may resolve to ::1 in some images (IPv6) while Pleroma only
|
|
# listens on IPv4 in this container. Use 127.0.0.1 to avoid false negatives.
|
|
test: ["CMD-SHELL", "test -f /var/lib/pleroma/.e2e_seeded && wget -qO- http://127.0.0.1:4000/api/v1/instance >/dev/null || exit 1"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 60
|
|
|
|
e2e:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/e2e/Dockerfile.e2e
|
|
depends_on:
|
|
pleroma:
|
|
condition: service_healthy
|
|
environment:
|
|
CI: "1"
|
|
VITE_PROXY_TARGET: http://pleroma:4000
|
|
VITE_PROXY_ORIGIN: http://localhost:4000
|
|
E2E_BASE_URL: http://localhost:8080
|
|
E2E_ADMIN_USERNAME: ${E2E_ADMIN_USERNAME:-admin}
|
|
E2E_ADMIN_PASSWORD: ${E2E_ADMIN_PASSWORD:-adminadmin}
|
|
command: ["yarn", "e2e:pw"]
|