Skip to content

Repository files navigation

Authelia

Build Status Last Commit OCI Pulls

Authelia on FreeBSD.

Port 9091
Registry ghcr.io/daemonless/authelia-server
Source https://github.com/authelia/authelia
Website https://authelia.com/

Version Tags

Tag Description Best For
latest Upstream Binary. Built from official release. Most users — recommended.
pkg FreeBSD Quarterly. Uses stable, tested packages. Most users — recommended.
pkg-latest FreeBSD Latest. Rolling package updates. Staying current.

Parts

Service Image Role
authelia-server ghcr.io/daemonless/authelia-server:latest docs
redis ghcr.io/daemonless/redis:latest docs

Prerequisites

Before deploying, ensure your host environment is ready. See the Quick Start Guide for host setup instructions.

Deployment

Podman Compose

1. Save as .env and fill in what is empty:

# Authelia for FreeBSD (Daemonless)
# Copy to .env and edit.

# Authelia configuration directory (configuration.yml, users_database.yml)
CONFIG_LOCATION=/containers/authelia/config

# Redis session store data
REDIS_DATA_LOCATION=/containers/authelia/redis

# Timezone (TZ identifier)
# TZ=UTC

2. Save as compose.yaml:

name: authelia

services:
  authelia-server:
    image: ghcr.io/daemonless/authelia-server:latest
    container_name: authelia-server
    restart: unless-stopped
    network_mode: host
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=${TZ:-UTC}
    volumes:
      - ${CONFIG_LOCATION}:/config
    ports:
      - 9091:9091
    depends_on:
      - redis

  redis:
    container_name: authelia_redis
    image: ghcr.io/daemonless/redis:latest
    restart: unless-stopped
    network_mode: host
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ${REDIS_DATA_LOCATION}:/config

Then run podman-compose up -d.

AppJail Director

.env:

# .env

DIRECTOR_PROJECT=authelia-server
PUID=1000
PGID=1000
TZ=UTC
CONFIG_LOCATION=/containers/authelia/config
REDIS_DATA_LOCATION=/containers/authelia/redis

appjail-director.yml:

# appjail-director.yml

options:
  - alias:
  - ip4_inherit:
services:
  authelia-server:
    name: authelia_server
    options:
      - container: 'args:--pull'
      - expose: '9091:9091 proto:tcp'
    oci:
      user: root
      environment:
        - PUID: !ENV '${PUID}'
        - PGID: !ENV '${PGID}'
        - TZ: !ENV '${TZ}'
        - CONFIG_LOCATION: !ENV '${CONFIG_LOCATION}'
        - REDIS_DATA_LOCATION: !ENV '${REDIS_DATA_LOCATION}'
    volumes:
      - authelia-server: /config
  authelia-redis:
    name: authelia_redis
    options:
      - from: ghcr.io/daemonless/redis:latest
      - template: !ENV '${PWD}/template.conf'
    volumes:
      - redis_data: /config
volumes:
  authelia-server:
    device: '/containers/authelia-server'
  redis_data:
    device: !ENV '${REDIS_DATA_LOCATION}'

Makejail:

# Makejail

ARG tag=latest

OPTION container=boot
OPTION overwrite=force
OPTION from=ghcr.io/daemonless/authelia-server:${tag}

Save the files above, then run appjail-director up.

Warning

Exposing ports in AppJail means that your service can be reached from remote hosts. If that is not your intention, do not expose the ports and communicate with the service using the jail's IPv4 address or hostname assigned by the virtual network.

To avoid exposing ports, just remove the expose option in your appjail-director.yml or from your command-line arguments.

Access at: http://localhost:9091

Parameters

Environment Variables

Variable Default Description
PUID 1000 User ID for the application process
PGID 1000 Group ID for the application process
TZ UTC Timezone for the container
CONFIG_LOCATION /containers/authelia/config Path to the Authelia configuration directory (configuration.yml, users database)
REDIS_DATA_LOCATION /containers/authelia/redis Path to store the redis session store

Volumes

Path Description
/config Configuration directory

Ports

Port Protocol Description
9091 TCP Web UI

Architectures: amd64 User: bsd (UID/GID via PUID/PGID, defaults to 1000:1000) Base: FreeBSD 15


Need help? Join our Discord community.