Panel

Below you will find my live Pelican compose file. I recommend placing this in your Github repo and use GitOps to manage updating the container versions

Deploy the Compose File

  1. Combine the Shared env file with below and fill the blanks

# --- Passwords ---
## The longer the better. Feel free to use passphrases
MYSQL_ROOT_PASS=
MYSQL_PASS=

# --- Mail Configuration ---
## Defaults to Gmail - you can review the compose file for the variables and edit for other SMTP servers if needed
MAIL_FROM=
MAIL_USERNAME=
MAIL_PASSWORD=
https://github.com/trentnbauer/HomelabPublic/blob/main/docker-compose/pelican.yml

Set and backup your app key

  1. Open the logs for the Panel container

  2. Take note of your App Key - save it into your password vault and add it to your .env as APP_KEY=

  3. Restart the panel container

circle-exclamation

Generate Database and Administrator account

  1. Enter the Console for the Panel container, by using either docker exec or by using your flavour of Docker webUI

  2. Run the below command to generate the database tables and a generic admin account

circle-exclamation
  1. Navigate to your panel URL

  2. Log in with the generic admin credentials created above (admin/admin)

  3. Click on the profile picture in the top right, then select profile

  4. Update the username and password to be random generated

  5. Save these in your password vault

  6. Update the email address

circle-info

As the front end of the panel is public facing, it is best to randomly generate BOTH the username and password to reduce the risk of someone breaking in

Panel Configuration

Fix the proxy address

  1. Click on the profile picture in the top right, then select admin

  2. On the left, select settings

  3. Under Trusted Proxies, click on 'Set to Cloudflare IPs'

  4. Add 192.168.253.0/24

    circle-info

    This is the IP range of the Pelican management network, which contains the Cloudflare tunnel container.

    This resolves some upload failure errors

  5. Click on save

Create your user roles

  1. Navigate to your panel URL and access the admin side

  2. On the left, select Roles

These are my settings:

Tick everything!

circle-info

My settings may not work for your use-case, but they will be a good starting point

Set up Gmail SMTP

  1. Create your Gmail SMTP credentials per Gmail SMTP

  2. Log into the Pelican admin panel

  3. Select settings, the mail

    1. Set to STMP

    2. Add your details

    3. Click on test

Set up OAuth

  1. On the left, click on settings, then Oauth

  2. Configure any OAuth methods you wish to use - Pelican will provide you with steps on how to configure each one. I recommend Discord and Steam I would also recommend enabling automatic linking but not account creation

  3. Click on Save

Cloudflare Turnstile (Captcha)

  1. Click on the Captcha tab and expand turnstile

  2. Select the free version You may need to go through some sort of sign up process

  3. Click on Add Widget

  4. Name your widget (Pelican Panel is fine)

  5. Click on Add hostname

    1. Add a custom hostname for your Panel domain

  6. Widget mode: managed

  7. Click on Create

  8. Copy the site and secret key provided into Pelican Panel

  9. Click on save

circle-info

Sometimes appears to not save the OAuth details - restart your panel if so

Last updated