Update Docker & Kubernetes/Docker/Docker Compose/Firefox.md
This commit is contained in:
@ -1,5 +1,27 @@
|
||||
**Purpose**: Sometimes you just want an instance of Firefox running on an Alpine Linux container, that has persistence (Extensions, bookmarks, history, etc) outside of the container (with bind-mapped folders). This is useful for a number of reasons, but insecure by default, so you have to protect it behind something like a [Keycloak Server](https://docs.bunny-lab.io/Docker%20%2526%20Kubernetes/Docker/Docker%20Compose/Keycloak/) so it is not misused.
|
||||
|
||||
## Keycloak Authentication Sequence
|
||||
``` mermaid
|
||||
sequenceDiagram
|
||||
participant User
|
||||
participant Traefik as Traefik Reverse Proxy
|
||||
participant Keycloak
|
||||
participant RockyLinux as Rocky Linux VM
|
||||
participant FirewallD as FirewallD
|
||||
participant Alpine as Alpine Container
|
||||
|
||||
User->>Traefik: Access https://work-environment.bunny-lab.io
|
||||
Traefik->>Keycloak: Redirect to Authenticate against Work Realm
|
||||
User->>Keycloak: Authenticate
|
||||
Keycloak->>User: Authorization Cookie Stored on Internet Browser
|
||||
User->>Traefik: Pass Authnorization Cookie to Traefik
|
||||
Traefik->>RockyLinux: Traefik Forwards Traffic to Rocky Linux VM
|
||||
RockyLinux->>FirewallD: Traffic Passes Local Firewall
|
||||
FirewallD->>RockyLinux: Filter traffic (Port 5800)
|
||||
FirewallD->>Alpine: Allow Traffic from Traefik
|
||||
Alpine->>User: WebUI Access to Firefox Work Environment Granted
|
||||
```
|
||||
|
||||
## Docker Configuration
|
||||
```jsx title="docker-compose.yml"
|
||||
version: '3'
|
||||
|
Reference in New Issue
Block a user