Custom App Configuration
You can use a combination of docker compose, configuration files, and environment variables to customize the behavior of the DevPortal instance.
You can customize your DevPortal by mounting a custom app-config.local.yaml file. This allows you to override default settings without modifying the container image.
Creating a Custom Config File
Create an app-config.local.yaml file in your project directory:
app:
title: My Company DevPortal
baseUrl: http://localhost:7007
organization:
name: My Company
backend:
baseUrl: http://localhost:7007
listen:
port: 7007
cors:
origin: http://localhost:7007
methods: [GET, HEAD, PATCH, POST, PUT, DELETE]
credentials: true
# Example: Configure GitHub integration
integrations:
github:
- host: github.com
token: ${GITHUB_TOKEN}
# Example: Configure catalog locations
catalog:
locations:
- type: url
target: https://github.com/your-org/your-repo/blob/main/catalog-info.yaml
Mounting with Docker Run
Use the -v flag to mount your config file:
docker run --rm --name devportal -d \
-p 7007:7007 \
-v $(pwd)/app-config.local.yaml:/app/app-config.local.yaml:ro \
veecode/devportal:latest
Mounting with Docker Compose
Update your docker-compose.yml:
services:
devportal:
image: veecode/devportal:latest
ports:
- "7007:7007"
environment:
- GITHUB_TOKEN=${GITHUB_TOKEN}
volumes:
- ./app-config.local.yaml:/app/app-config.local.yaml:ro
Then run:
docker compose up -d
Common Configuration Examples
GitHub Authentication
auth:
environment: development
providers:
github:
development:
clientId: ${GITHUB_CLIENT_ID}
clientSecret: ${GITHUB_CLIENT_SECRET}
Custom Theme
app:
branding:
theme:
light:
primaryColor: '#2196F3'
dark:
primaryColor: '#90CAF9'
Database Configuration
backend:
database:
client: pg
connection:
host: ${POSTGRES_HOST}
port: ${POSTGRES_PORT}
user: ${POSTGRES_USER}
password: ${POSTGRES_PASSWORD}
Environment Variables
You can use environment variables in your config file using the ${VAR_NAME} syntax. Pass them via Docker:
docker run --rm --name devportal -d \
-p 7007:7007 \
-e GITHUB_TOKEN=your_token_here \
-v $(pwd)/app-config.local.yaml:/app/app-config.local.yaml:ro \
veecode/devportal:latest