Add Baikal container #9

Merged
kevinheyer merged 1 commit from baikal into main 2025-03-28 19:39:43 +00:00
3 changed files with 64 additions and 0 deletions
Showing only changes of commit 5e7d9328ae - Show all commits

2
baikal/.env-example Normal file
View file

@ -0,0 +1,2 @@
BAIKAL_VERSION=0.10.1-nginx
BAIKAL_DOMAIN=baikal.example.com

37
baikal/README.md Normal file
View file

@ -0,0 +1,37 @@
# Baikal Docker Setup with Traefik
This guide provides instructions for deploying Baikal using Docker and Traefik as a reverse proxy. The setup includes securing the Baikal instance with HTTPS and configuring a trusted proxy.
## Prerequisites
- Docker and Docker Compose installed on your system
- Traefik configured as your reverse proxy
- A domain name pointing to your Baikal instance
## Environment Variables
Before deploying the container, create a `.env` file from the provided `.env-example` file and adjust the values as needed.
```sh
cp .env-example .env
nano .env
```
## Starting the Container
Once the `.env` file is configured, start the Baikal container using:
```sh
docker-compose up -d
```
## Configuring the Reverse Proxy
To enable proper proxy support in Baikal, update `data/config/configuration.yaml` with the following settings:
## Accessing Baikal
Once everything is set up, restart Baikal and it should be accessible via the configured domain:
```
https://baikal.example.com
```
If there are any issues, check the container logs with:
```sh
docker logs -f baikal
```

25
baikal/docker-compose.yml Normal file
View file

@ -0,0 +1,25 @@
baikal:
image: ckulka/baikal:${BAIKAL_VERSION:-0.10.1-nginx}
container_name: baikal
restart: always
networks:
- traefik
volumes:
- ./data/config:/var/www/baikal/config
- ./data/baikal-data:/var/www/baikal/Specific
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.http.routers.baikal.entrypoints=http"
- "traefik.http.routers.baikal.rule=Host(`${BAIKAL_DOMAIN:?error}`)"
- "traefik.http.middlewares.baikal-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.baikal.middlewares=caldav-https-redirect"
- "traefik.http.routers.baikal-secure.entrypoints=https"
- "traefik.http.routers.baikal-secure.rule=Host(`${BAIKAL_DOMAIN:?error}`)"
- "traefik.http.routers.baikal-secure.tls=true"
- "traefik.http.routers.baikal-secure.service=baikal"
- "traefik.http.services.baikal.loadbalancer.server.port=80"
networks:
traefik:
external: true