Anikura is a multimedia server written in PHP, using the Symfony framework.
- PHP 8
- Composer
- Node.js
- Yarn
- PostgreSQL (database)
TODO: add Docker installation guide
-
TODO: add requirements check
-
Install dependencies with Composer
# for development
composer install
# for deployment
composer install --no-dev --optimize-autoloader
- Create a .env.local file and edit it to your needs. (It won't be commited to any git repository.)
(IMPORTANT: if you're deploying the app,
you MUST set APP_ENV
to prod
and edit APP_SECRET
.)
cp .env .env.local
- Create a database and migrate tables.
php bin/console doctrine:database:create
php bin/console doctrine:migrations:migrate
You can also load sample data fixtures when developing:
php bin/console doctrine:fixtures:load
- Install Node.js dependencies with Yarn:
yarn
- Build the front-end bundle with Encore (if you don't plan on modifying JS, CSS etc, then you will need to perform this only once)
# for development
yarn dev
# for deployment
yarn build
Watching for changes is also possible:
yarn watch
- Serve the
public
catalog
# for development
php -S localhost:8000 -t public
# for deployment, you will want to use Apache, nginx, Caddy etc
And that's it! Now you can use Anikura.
TODO: actually not (at least not in production) - add admin user creation