Skip to content
/ uppy Public

Mobile applications distribution platform

License

Notifications You must be signed in to change notification settings

everli/uppy

Repository files navigation

Uppy

Installation

Clone this repository anywhere on your machine:

git clone git@github.com:everli/uppy.git
cd uppy
cp .env.example .env 

Remember to add your instance's URL to this environment variable

SANCTUM_STATEFUL_DOMAINS=localhost:8080

Optionally you can add these environment variables to the .env file in order to avoid conflicts with other docker instances

DOCKER_NGINX_PORT=<ANOTHER_PORT>
DOCKER_MYSQL_PORT=<ANOTHER_PORT>

A few other commands and you are ready to go

docker-compose up -d

docker-compose run --rm composer install
docker-compose run --rm artisan key:generate
docker-compose run --rm artisan migrate:fresh

A development server is now started at http://localhost:8080

Building the frontend

In order to see the dashboard, you need to compile the frontend assets:

docker-compose run --rm node npm install

cp tailwind.config.js.example tailwind.config.js

docker-compose run --rm node npm run development # development assets
docker-compose run --rm node npm run production # production assets

If you are developing on the frontend, is useful to run a watch command, to automatically compile assets on file changes:

docker-compose run --rm node npm run watch

To enable access to the admin frontend, you need to create the first admin account, that can be done via an artisan command:

docker-compose run --rm artisan user:create

And just follow the instructions on the screen. It will create also an external token to enable API access using that user.

Running unit tests

docker-compose run --rm php ./vendor/bin/phpunit

Configuration

Adding new supported platforms

You can add a new supported platforms by creating a new class inside the app/Platforms folder and define the id and the expected mimeTypes of the package, must extend the Platform class. To actually support the platform, the corresponding classpath should be added in the config file config/uppy.php.

Packages storage disk

By default, Uppy will use the Laravel cloud filesystem (Amazon s3) to store icons and packages. You can change the disk where the packages are stored simply adding the FILESYSTEM_CLOUD variable to your .env file specifying the disk which is to be used.

FILESYSTEM_CLOUD=local # ex. this will save the packages locally

If want also customize the root path used by uppy (which, by default it uppy/), you can simply add the env variable ASSETS_FOLDER to your .env to specify the base path on the disk.

ASSETS_FOLDER=base/path/to/Uppy