Foxws
Stry

Interaction

CLI Interaction

stry uses lpod to work with its containers, much like Laravel Sail but for Podman.

lpod stry up                     # start
lpod stry shell                  # open a shell (alias: bash)
lpod stry tinker                 # Laravel Tinker
lpod stry artisan migrate        # or: lpod stry a migrate

lpod is a separate tool that you install once per host. See Podman Quadlet for how to install it.

stry's Artisan commands

Run these with lpod stry artisan ..., or the shorter lpod stry a ....

Installing and upgrading

Command Description
app:install Migrate, seed the roles, set up the search indexes and offer to create the S3 buckets and a super-admin. Safe to rerun
app:update Run the migrations, clear the settings cache and restart the workers, after pulling a new release
app:update --scout The same, and sync the search indexes
app:update --no-restart The same, without restarting the workers
app:restart Restart the Octane and queue workers, for example after changing the storage disks

Users

Command Description
users:create Create a user account (asks for details)
users:create --admin The same, and give the user the admin role
users:create --super-admin The same, and give the user the super-admin role
users:exists Succeed when a user exists; --admin or --super-admin only counts users with that role

To create a user without prompts, for example from an installer, pass the details as options and the password through stdin, so it stays out of the process list:

printf '%s' "$PASSWORD" | lpod stry artisan users:create --super-admin --no-interaction \
    --name="Ada Lovelace" --email=ada@example.com --password-stdin

Videos

Command Description
videos:import Import videos for a user
videos:clear Delete the files of videos that were soft-deleted

Streaming and media

Command Description
media:info Show which FFmpeg, FFprobe and ab-av1 are found
media:prune Delete cached direct play segments (runs daily)
media:clean Delete temporary files left by crashed jobs
videos:thumbnails Regenerate the seek preview thumbnails
videos:reels Queue reels to be regenerated
transcodes:create Start an AV1 transcode for a video
transcodes:import Add completed transcodes to their videos
transcodes:clear Permanently delete failed transcodes
transcodes:clear --all Permanently delete all expired transcodes
groups:clear Remove all videos from groups of a given type
media-library:regenerate --only-missing --queue-all Regenerate missing thumbnails and other images
Command Description
scout:sync Set up the Typesense collections
scout:sync --import The same, and import all records
scout:sync --delete Delete all indexes and set them up again (removes their data)
scout:delete-index Model Delete the index of one model, for example when it's corrupted
scout:import Model Import one model into its search index

Database snapshots

Command Description
app:snapshot Create a database snapshot now and delete the oldest ones (see Database Snapshots)
snapshot:list List the database snapshots, newest first
snapshot:load --latest Drop every table and load the newest snapshot. Pass a name instead of --latest to load another one

Settings

Command Description
settings:clear-cache Clear the cached admin settings. Run it after a settings migration (see Application Configuration)

Using Podman directly

podman exec -it systemd-stry php artisan help
podman exec -it systemd-stry-horizon /bin/bash

See also