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
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.
docker-compose run --rm php ./vendor/bin/phpunit
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
.
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