Skip to content
Snippets Groups Projects
dev.yml 3.47 KiB
version: "3"

services:
  front:
    build: front
    env_file:
      - .env.dev
      - .env
    environment:
      - "HOST=0.0.0.0"
      - "VUE_PORT=${VUE_PORT-8080}"
    ports:
      - "${VUE_PORT-8080}:${VUE_PORT-8080}"
    volumes:
      - "./front:/app"
      - "/app/node_modules"
      - "./po:/po"
    networks:
      - federation
      - internal
    labels:
      traefik.backend: "${COMPOSE_PROJECT_NAME-node1}"
      traefik.frontend.rule: "Host:${COMPOSE_PROJECT_NAME-node1}.funkwhale.test,${NODE_IP-127.0.0.1}"
      traefik.enable: "true"
      traefik.federation.protocol: "http"
      traefik.federation.port: "${VUE_PORT-8080}"

  postgres:
    env_file:
      - .env.dev
      - .env
    image: postgres
    command: postgres -c log_min_duration_statement=0
    volumes:
      - "./data/${COMPOSE_PROJECT_NAME-node1}/postgres:/var/lib/postgresql/data"
    networks:
      - internal

  redis:
    env_file:
      - .env.dev
      - .env
    image: redis:3.0
    volumes:
      - "./data/${COMPOSE_PROJECT_NAME-node1}/redis:/data"
    networks:
      - internal

  celeryworker:
    env_file:
      - .env.dev
      - .env
    build:
      context: ./api
      dockerfile: docker/Dockerfile.test
    links:
      - postgres
      - redis
    command: celery -A funkwhale_api.taskapp worker -l debug -B
    environment:
      - "FUNKWHALE_HOSTNAME=${FUNKWHALE_HOSTNAME-localhost}"
      - "FUNKWHALE_HOSTNAME_SUFFIX=funkwhale.test"
      - "FUNKWHALE_HOSTNAME_PREFIX=${COMPOSE_PROJECT_NAME}"
      - "FUNKWHALE_PROTOCOL=${FUNKWHALE_PROTOCOL-http}"
      - "DATABASE_URL=postgresql://postgres@postgres/postgres"
      - "CACHE_URL=redis://redis:6379/0"
    volumes:
      - ./api:/app
      - "${MUSIC_DIRECTORY-./data/music}:/music:ro"
    networks: