liampiginthecity/phoenix-auth-server

By liampiginthecity

Updated over 1 year ago

Syncing server for The Phoenix Auth OTP Application

Image
Security
Web servers
0

1.1K

liampiginthecity/phoenix-auth-server repository overview

Phoenix Auth Web Server

The Phoenix Auth web server is used to sync your Phoenix 2FA accounts better multiple instances of the Phoenix desktop application

Setup

The Phoenix Auth web server requires a connection to a Postgres database. Currently, we do not support an integrated image and don't recommend it. Instead I recommend linking your own Postgres image via docker compose.

Example

services:
  phoenix:
    image: liampiginthecity/phoenix-auth-server:0.0
    restart: unless-stopped
    environment:
      SERVER_NAME: localhost # Change to your local servers IP Address
      TRUSTED_PROXIES: 127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
      TRUSTED_HOSTS: localhost|php$$
      # UPDATE USER DETAILS!
      DATABASE_URL: postgresql://phoenix_user:ChangeMe@database:5432/phoenix?serverVersion=16&charset=utf8
      USER_EMAIL: [email protected]
      USER_PASSWORD: ChangeMe
    ports:
      - target: 443
        published: 443
        protocol: TCP
      - target: 443
        published: 443
        protocol: udp
  database:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: phoenix
      # UPDATE ME!!!
      POSTGRES_PASSWORD: ChangeMe
      POSTGRES_USER: phoenix_user
    # If healthcheck is used please update the user in the command
    healthcheck:
      test: ["CMD", "pg_isready", "-d", "phoenix", "-U", "phoenix_user"]
      timeout: 5s
      retries: 5
      start_period: 60s
    ports:
      - target: 5432
        published: 5432
        protocol: tcp
    volumes:
      - database_data:/var/lib/postgresql/data:rw
      # You may use a bind-mounted host directory instead, so that it is harder to accidentally remove the volume and lose all your data!
      # - ./docker/db/data:/var/lib/postgresql/data:rw

volumes:
  database_data:

Storing JWT Certs

By default, phoenix automatically generates a JWT passphrase and certificates. This comes with the drawback of a container restart; any existing JWT tokens will be invalid and need to be regenerated. While this is very unlikely, setting your passphrase and storing your key files locally is possible.

This is done by passing a 64-character alphanumeric string to the JWT_PASSPHRASE environment variable and adding a volume linking to /app/config/jwt.

HTTP Support

SSL certificates are generated on startup by default. To set it to HTTP mode, postfix your server name with :80 and change your target ports to port 80 instead of 443.

Tag summary

Content type

Image

Digest

sha256:cab359679

Size

212.3 MB

Last updated

over 1 year ago

docker pull liampiginthecity/phoenix-auth-server