Caddy UI is a web frontend to interact with the Caddy server
⚠️ This is under heavy development, expect some breaking changes or non functional images!
amd64
, 386
, arm64
and arm32v7
CPU architecturesIf you run Caddy in a container, make the admin api listen on 0.0.0.0:2019
and ensure Caddy's port 2019
is reachable somehow (i.e. with -p 2019:2019/tcp
). You should also run caddy with --resume
so that it uses its auto saved json configuration when it is restarted.
Run this container:
docker run -d -p 8000:8000/tcp -e CADDY_API_ENDPOINT="http://somehost:2019" qmcgaw/caddy-ui
You can also use docker-compose with docker-compose up -d
and the following docker-compose.yml:
version: "3.7"
services:
caddy:
image: qmcgaw/caddy-scratch
container_name: caddy
command: --resume
expose:
- 2019:2019/tcp
ports:
- 8080:8080/tcp
- 8443:8443/tcp
environment:
- TZ=
caddy-ui:
image: qmcgaw/caddy-ui
ports:
- 8000:8000/tcp
environment:
- CADDY_API_ENDPOINT=http://caddy:2019
Access the web app at http://localhost:8000.
Environment variable | Default | Description |
---|---|---|
CADDY_API_ENDPOINT |
http://localhost:2019 |
Caddy API endpoint address |
LOG_ENCODING |
console |
Logging format, can be json or console |
LOG_LEVEL |
info |
Logging level, can be debug , info , warning , error |
NODE_ID |
-1 |
Node ID for logger (-1 to disable) |
LISTENING_PORT |
8000 |
Internal listening TCP port |
ROOT_URL |
/ |
URL path, used if behind a reverse proxy |
TZ |
America/Montreal |
Timezone string |
CORS_WHITELIST |
Comma separated list of hosts to whitelist for CORS, use only for development |
You can update the image with docker pull qmcgaw/caddy-ui
or use one of tags available
You might want to first refer to the Caddy UI Server repository which contains more architectural information and contains this repository as a Git submodule.
Setup your environment
1. Install [Docker](https://docs.docker.com/install/) - On Windows, share a drive with Docker Desktop and have the project on that partition - On OSX, share your project directory with Docker Desktop 1. With [Visual Studio Code](https://code.visualstudio.com/download), install the [remote containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) 1. In Visual Studio Code, press on `F1` and select `Remote-Containers: Open Folder in Container...` 1. Your dev environment is ready to go!... and it's running in a container :+1:
Install [Nodejs](https://nodejs.org/en/download/) and [Docker](https://www.docker.com/products/docker-desktop), with eventually [yarn](https://classic.yarnpkg.com/en/docs/install/)
Commands available:
# Starts the development server with ts-node
yarn start
# Test the code
yarn test
# Lint the code
yarn lint
# Build the app for production
yarn build
# Build the Docker image
docker build -t qmcgaw/caddy-ui .
See Contributing for more information on how to contribute to this repository.
This repository is under an MIT license unless otherwise indicated