Compare commits
6
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b982e0a541 | ||
|
|
0d08cde3c1 | ||
|
|
e1cf8aff29 | ||
|
|
9b46a25802 | ||
|
|
71682ae2b7 | ||
|
|
bac27cbc05 |
@@ -1,8 +1,8 @@
|
||||
# Builds the app, session manager and streamer images and pushes them to this
|
||||
# Gitea instance's container registry, under the repository's owner.
|
||||
#
|
||||
# Needs repository secrets REGISTRY_USERNAME and REGISTRY_TOKEN: a user, and an
|
||||
# access token of theirs with package write access.
|
||||
# Needs a repository secret REGISTRY_TOKEN: an access token with package write
|
||||
# access, belonging to the repository's owner.
|
||||
name: Images
|
||||
|
||||
on:
|
||||
@@ -11,18 +11,24 @@ on:
|
||||
tags: ['v*.*.*']
|
||||
workflow_dispatch:
|
||||
|
||||
# Jobs that run docker builds use dejima-privileged; anything else should use
|
||||
# dejima-confined.
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
name: ${{ matrix.name }}
|
||||
runs-on: dejima-privileged
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- image: dotcom-arcade
|
||||
- name: app
|
||||
image: dotcom-arcade
|
||||
context: .
|
||||
- image: dotcom-arcade-session-manager
|
||||
- name: session-manager
|
||||
image: dotcom-arcade-session-manager
|
||||
context: streaming/session-manager
|
||||
- image: dotcom-arcade-streamer
|
||||
- name: streamer
|
||||
image: dotcom-arcade-streamer
|
||||
context: streaming/streamer
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -40,7 +46,7 @@ jobs:
|
||||
- uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ${{ steps.registry.outputs.host }}
|
||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||
|
||||
- id: meta
|
||||
|
||||
@@ -43,10 +43,11 @@ Then run `docker compose pull && docker compose up -d`.
|
||||
`.gitea/workflows/images.yml` builds all three images on Gitea Actions and
|
||||
pushes them to the Gitea instance's container registry, under the repository's
|
||||
owner. Pushes to `main` publish a `main` tag; `v1.2.3` tags publish `1.2.3`,
|
||||
`1.2` and `latest`. It needs two repository secrets:
|
||||
|
||||
- `REGISTRY_USERNAME`: a user;
|
||||
- `REGISTRY_TOKEN`: an access token of theirs with package write access.
|
||||
`1.2` and `latest`. Its jobs run docker builds, so they need a runner labelled
|
||||
`dejima-privileged`; jobs that don't build images should use `dejima-confined`.
|
||||
It also needs a repository secret, `REGISTRY_TOKEN`: an access token with
|
||||
package write access, belonging to the repository's owner, whom the workflow
|
||||
logs in as.
|
||||
|
||||
## Volumes
|
||||
|
||||
|
||||
@@ -33,4 +33,9 @@ What changes:
|
||||
- **Streaming config.** Streaming is now part of the same compose file. Replace
|
||||
the separate `API_TOKEN` and `STREAMING_API_URL` with `STREAMING_API_TOKEN`
|
||||
and `COMPOSE_PROFILES=streaming` (see [Streaming](../10-features/13-streaming.md)).
|
||||
The `/stream/` proxy route is unchanged.
|
||||
- **No separate `/stream/` route.** The app now proxies streams to the session
|
||||
manager itself, and the session manager no longer publishes port 8081.
|
||||
Remove any `location /stream/` block from your reverse proxy, or streams
|
||||
will time out with a 504. Move its WebSocket and timeout settings to the
|
||||
location that serves the app (see
|
||||
[Reverse proxy](../10-features/13-streaming.md#reverse-proxy)).
|
||||
|
||||
Reference in New Issue
Block a user