the browser-facing portion of osu!
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 73 lines 2.5 kB view raw view rendered
1# Deployment with docker 2 3There's only one image to be built: 4 5 docker build -f Dockerfile.deployment --tag <repository>:<tag> --build-arg <buildarg1> --build-arg <buildarg2> . 6 7There are several build arguments required: 8 9- `APP_URL` 10- `DOCS_URL` 11- `GIT_SHA` (build version. Something like `"$(date "+%Y%m%d-%H%M%S")-$(git rev-parse HEAD | cut -c1-7)"` should work) 12 13## Updating image 14 15Run build with `--pull --no-cache` parameters to ensure latest image and packages are used. 16 17## Configuration files 18 19There are three main configuration files which can be mounted to the container: 20 21- `/app/.env`: environment file. Can also be done by passing them as environment variables 22- `/app/storage/oauth-private.key`: OAuth private key. Alternatively can be set using environment variable `PASSPORT_PRIVATE_KEY` 23- `/app/storage/oauth-public.key`: OAuth public key for the private key above. Similarly can be an environment variable `PASSPORT_PUBLIC_KEY` 24 25Note that as the actual process is run as non-root user, the files must be world-readable. 26 27## Services 28 29The image built serves multiple purposes, each can be run by passing the parameter when starting docker (or as command if using orchestration tools like docker compose). 30 31There are three main commands: 32 33- octane: starts octane on port 8000 34- assets: starts nginx on port 8080. Used to serve static assets 35- artisan: starts artisan command. This should be followed by correct options 36 37### octane 38 39Command: `octane` 40 41Serves PHP over HTTP. Connect to it at port 8000 through a reverse proxy like `nginx`. 42 43### static assets 44 45Command: `assets` 46 47This serves static files using nginx at port 8080. The nginx config file is located at `/app/docker/deployment/nginx-assets.conf` and can be overridden by mounting. 48 49### job runner 50 51Command: `artisan queue:work --queue=<queuename> <additional options...>` 52 53There are multiple queues used: 54 55- `beatmap_default` 56- `beatmap_high` 57- `default` 58- `notification` 59- `store-notifications` 60 61The names should be relatively self explained. Multiple queues can be handled by single runner by specifying them all separated by comma (ex: `default,notification,store-notifications`). 62 63Additional options can be checked [in this page](https://laravel.com/docs/6.x/queues). 64 65### scheduled tasks 66 67Command: `artisan schedule:run` 68 69This should be run at least every 10 minutes. It doesn't run permanently. 70 71## Migration 72 73No migration is run by default. Run the container with command `artisan migrate` to run the migration.