Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions docs/ssl-certificates-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,10 @@ docker run --rm -it -p 80:80 -p 443:443 -v /etc/ssl/private/baikal:/etc/ssl/priv
```

I also included the Docker Compose template [examples/docker-compose.apache.yaml](https://github.com/ckulka/baikal-docker/blob/master/examples/docker-compose.apache.yaml) for this scenario.

If you're using the `nginx` variant and would like to mount your certificates, you can do something like this:

```bash
# The folder /etc/nginx/ssl contains the files nginx.crt and nginx.key
docker run --rm -it -p 80:80 -p 443:443 -v /etc/ssl/private/baikal:/etc/nginx/ssl/:ro ckulka/baikal:nginx
```
3 changes: 3 additions & 0 deletions examples/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,13 @@ services:
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- config:/var/www/baikal/config
- data:/var/www/baikal/Specific
- ssl:/etc/nginx/ssl

volumes:
config:
data:
ssl:
4 changes: 4 additions & 0 deletions files/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
server {
listen 80;
listen [::]:80;
listen 443 ssl;
server_name _;

root /var/www/baikal/html;
Expand All @@ -11,6 +12,9 @@ server {
rewrite ^/.well-known/caldav /dav.php redirect;
rewrite ^/.well-known/carddav /dav.php redirect;

ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;

charset utf-8;

location ~ /(\.ht|Core|Specific) {
Expand Down
5 changes: 5 additions & 0 deletions nginx.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ FROM nginx:1
RUN curl -o /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg &&\
apt update &&\
apt install -y lsb-release &&\
apt install -y libcurl4-openssl-dev &&\
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list &&\
apt remove -y lsb-release &&\
apt update &&\
Expand All @@ -35,5 +36,9 @@ COPY files/docker-entrypoint.d/*.sh files/docker-entrypoint.d/*.php files/docker
COPY --from=builder --chown=nginx:nginx baikal /var/www/baikal
COPY files/nginx.conf /etc/nginx/conf.d/default.conf

RUN mkdir /etc/nginx/ssl
RUN openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -subj "/C=/ST=/L=/O=/CN=" -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt

VOLUME /var/www/baikal/config
VOLUME /var/www/baikal/Specific
VOLUME /etc/nginx/ssl