karmek-k / anikura-server

Multimedia server software

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Anikura Server

Anikura is a multimedia server written in PHP, using the Symfony framework.

Requirements

  • PHP 8
  • Composer
  • Node.js
  • Yarn
  • PostgreSQL (database)

Installation

TODO: add Docker installation guide

Manual installation

  1. TODO: add requirements check

  2. Install dependencies with Composer

# for development
composer install

# for deployment
composer install --no-dev --optimize-autoloader
  1. 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
  1. 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
  1. Install Node.js dependencies with Yarn:
yarn
  1. 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
  1. 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

About

Multimedia server software

License:GNU Affero General Public License v3.0


Languages

Language:PHP 74.1%Language:Twig 18.4%Language:JavaScript 4.7%Language:Shell 2.5%Language:CSS 0.3%