Skip to content
Snippets Groups Projects
dev.yml 5.07 KiB
Newer Older
  • Learn to ignore specific revisions
  •     build: front
    
        env_file:
          - .env.dev
          - .env
    
    Eliot Berriot's avatar
    Eliot Berriot committed
          - "VUE_PORT=${VUE_PORT-8080}"
    
          - "./front:/app"
          - "/app/node_modules"
          - "./po:/po"
    
        command: "yarn dev --host --base /front/"
    
        env_file:
          - .env.dev
          - .env
    
        image: postgres:${POSTGRES_VERSION-11}
    
        environment:
          - "POSTGRES_HOST_AUTH_METHOD=trust"
    
        command: postgres ${POSTGRES_ARGS-}
    
        volumes:
          - "./data/${COMPOSE_PROJECT_NAME-node1}/postgres:/var/lib/postgresql/data"
        networks:
          - internal
    
        env_file:
          - .env.dev
          - .env
    
        volumes:
          - "./data/${COMPOSE_PROJECT_NAME-node1}/redis:/data"
        networks:
          - internal
    
        env_file:
          - .env.dev
          - .env
    
          dockerfile: Dockerfile
          args:
            install_dev_deps: 1
        entrypoint: compose/django/dev-entrypoint.sh
    
        command: >
          bash -c "python manage.py collectstatic --no-input
          && uvicorn --reload config.asgi:application --host 0.0.0.0 --port 5000  --reload-dir config/ --reload-dir=funkwhale_api/"
    
          - "${MUSIC_DIRECTORY_SERVE_PATH-./data/music}:/music:ro"
    
          - "./data/plugins:/srv/funkwhale/plugins"
    
          - "./data/media:/data/media"
    
          - "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"
    
          - "MEDIA_ROOT=/data/media"
    
        env_file:
          - .env.dev
          - .env
    
        command: celery -A funkwhale_api.taskapp worker -l debug -B --concurrency=${CELERYD_CONCURRENCY-0}
    
        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"
    
          - "MEDIA_ROOT=/data/media"
    
          - "${MUSIC_DIRECTORY_SERVE_PATH-./data/music}:/music:ro"
    
          - "./data/plugins:/srv/funkwhale/plugins"
    
          - "./data/media:/data/media"
    
        env_file:
          - .env.dev
          - .env
    
        ports:
          - "${NGINX_PORTS_MAPPING-8000:80}"
    
          - "NGINX_MAX_BODY_SIZE=${NGINX_MAX_BODY_SIZE-100M}"
    
          - "FUNKWHALE_API_IP=${FUNKHALE_API_IP-api}"
          - "FUNKWHALE_API_PORT=${FUNKWHALE_API_PORT-5000}"
          - "FUNKWHALE_FRONT_IP=${FUNKHALE_FRONT_IP-front}"
          - "FUNKWHALE_FRONT_PORT=${VUE_PORT-8080}"
    
          - "COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME- }"
          - "FUNKWHALE_HOSTNAME=${FUNKWHALE_HOSTNAME-localhost}"
    
          - ./docker/nginx/conf.dev:/etc/nginx/nginx.conf.template:ro
    
          - ./docker/nginx/entrypoint.sh:/entrypoint.sh:ro
    
          - "${MUSIC_DIRECTORY_SERVE_PATH-./data/music}:/music:ro"
    
          - ./deploy/funkwhale_proxy.conf:/etc/nginx/funkwhale_proxy.conf:ro
    
          - "./data/media:/protected/media:ro"
    
    
        labels:
          traefik.backend: "${COMPOSE_PROJECT_NAME-node1}"
    
          traefik.frontend.rule: "Host:${COMPOSE_PROJECT_NAME-node1}.funkwhale.test,${NODE_IP-127.0.0.1},${DJANGO_ALLOWED_HOSTS}"
    
          traefik.enable: "true"
          traefik.federation.protocol: "http"
          traefik.federation.port: "80"
          traefik.frontend.passHostHeader: true
          traefik.docker.network: federation
    
    
      docs:
        build: docs
        command: python serve.py
        volumes:
          - ".:/app/"
        ports:
    
    Eliot Berriot's avatar
    Eliot Berriot committed
      api-docs:
    
        image: swaggerapi/swagger-ui:v3.37.2
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        environment:
          - "API_URL=/swagger.yml"
        ports:
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        volumes:
    
          - "./docs/swagger.yml:/usr/share/nginx/html/swagger.yml"
    
    Agate's avatar
    Agate committed
          - "./docs/api:/usr/share/nginx/html/api"
    
      # minio:
      #   image: minio/minio
      #   command: server /data
      #   volumes:
      #     - "./data/${COMPOSE_PROJECT_NAME-node1}/minio:/data"
      #   environment:
      #     - "MINIO_ACCESS_KEY=${AWS_ACCESS_KEY_ID-access_key}"
      #     - "MINIO_SECRET_KEY=${AWS_SECRET_ACCESS_KEY-secret_key}"
      #     - "MINIO_HTTP_TRACE: /dev/stdout"
      #   ports:
      #     - "9000:9000"
      #   networks:
      #     - federation
      #     - internal
    
    
    
    
      federation:
        external:
          name: federation