Compare commits
44 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
69cf33eb47 | |
|
|
a4cbf7d5eb | |
|
|
94eba4bee2 | |
|
|
c1cfee6015 | |
|
|
29019dba13 | |
|
|
d569da71c8 | |
|
|
206d5c8c8c | |
|
|
29c35e9d7d | |
|
|
081fbc8d33 | |
|
|
c0c1f12a18 | |
|
|
ff4b1c31bd | |
|
|
1158aaf00b | |
|
|
3d81d62267 | |
|
|
b3168c5a46 | |
|
|
afa2849574 | |
|
|
fd378ef714 | |
|
|
a1824850c9 | |
|
|
8689818ac9 | |
|
|
e6784c2e5e | |
|
|
d78380caf0 | |
|
|
15dc3a5031 | |
|
|
9790fc72d2 | |
|
|
0b1b040ad0 | |
|
|
3f8279498c | |
|
|
c8d579b6cb | |
|
|
e3853f9c74 | |
|
|
73f5929407 | |
|
|
668634ecba | |
|
|
432f954173 | |
|
|
de9271fd6b | |
|
|
ceddc61f3f | |
|
|
bfad479b47 | |
|
|
06b5e2147f | |
|
|
8e7f55a088 | |
|
|
6b42df1a18 | |
|
|
f956cd3ce3 | |
|
|
3d57945943 | |
|
|
4e0437478d | |
|
|
9633e323a4 | |
|
|
ddf1495bc3 | |
|
|
4e36278ada | |
|
|
7c5c83739d | |
|
|
eb70199c91 | |
|
|
e5d55c9fe8 |
11
.drone.yml
11
.drone.yml
|
|
@ -8,13 +8,14 @@ steps:
|
|||
context: app
|
||||
dockerfile: app/Dockerfile
|
||||
tags:
|
||||
- latest
|
||||
- ${DRONE_TAG}
|
||||
- latest
|
||||
- ${DRONE_TAG}
|
||||
repo: jjtc/bookstack-ppm
|
||||
username:
|
||||
from_secret: docker_username
|
||||
password:
|
||||
from_secret: docker_password
|
||||
when:
|
||||
event:
|
||||
- tag
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
|
|
|
|||
|
|
@ -0,0 +1,102 @@
|
|||
# Read the docs for more info:
|
||||
# - https://www.bookstackapp.com/docs/admin/cache-session-config/
|
||||
# - https://github.com/BookStackApp/BookStack/blob/master/.env.example.complete
|
||||
|
||||
# Environment
|
||||
APP_ENV=production
|
||||
APP_DEBUG=false
|
||||
APP_KEY=------------REPLACE_ME------------
|
||||
|
||||
# The below url has to be set if using social auth options
|
||||
# or if you are not using BookStack at the root path of your domain.
|
||||
APP_URL=https://bookstackapp.com ------------REPLACE_ME------------
|
||||
APP_URL_BASE=bookstackapp.com ------------REPLACE_ME------------
|
||||
|
||||
# Application default language
|
||||
# The default language choice to show.
|
||||
# May be overridden by user-preference or visitor browser settings.
|
||||
APP_LANG=en
|
||||
|
||||
# Auto-detect language for public visitors.
|
||||
# Uses browser-sent headers to infer a language.
|
||||
# APP_LANG will be used if such a header is not provided.
|
||||
APP_AUTO_LANG_PUBLIC=true
|
||||
|
||||
# Application timezone
|
||||
# Used where dates are displayed such as on exported content.
|
||||
# Valid timezone values can be found here: https://www.php.net/manual/en/timezones.php
|
||||
APP_TIMEZONE=UTC
|
||||
|
||||
# Database details
|
||||
DB_HOST=db:3306
|
||||
DB_DATABASE=bookstack
|
||||
DB_USERNAME=bookstack
|
||||
DB_PASSWORD=------------REPLACE_ME------------
|
||||
DB_ROOT_PASS=------------REPLACE_ME------------
|
||||
|
||||
# Cache and session
|
||||
#CACHE_DRIVER=file
|
||||
#SESSION_DRIVER=file
|
||||
CACHE_DRIVER=redis
|
||||
SESSION_DRIVER=redis
|
||||
QUEUE_DRIVER=sync
|
||||
# A different prefix is useful when multiple BookStack instances use the same caching server
|
||||
CACHE_PREFIX=bookstack
|
||||
|
||||
# Redis settings
|
||||
# Single Redis server
|
||||
REDIS_SERVERS=cache:6379:0
|
||||
# Example of using two Redis servers clustered together
|
||||
#REDIS_SERVERS=8.8.8.8:6379:0,8.8.4.4:6379:0
|
||||
|
||||
# Storage
|
||||
STORAGE_TYPE=local
|
||||
# S3 (minio or AWS) Config
|
||||
STORAGE_S3_KEY=false
|
||||
STORAGE_S3_SECRET=false
|
||||
STORAGE_S3_REGION=false
|
||||
STORAGE_S3_BUCKET=false
|
||||
# Storage URL
|
||||
# Used to prefix image urls for when using custom domains/cdns
|
||||
STORAGE_URL=false
|
||||
|
||||
# General auth
|
||||
AUTH_METHOD=standard
|
||||
|
||||
# Social Authentication information. Defaults as off.
|
||||
GITHUB_APP_ID=false
|
||||
GITHUB_APP_SECRET=false
|
||||
GOOGLE_APP_ID=false
|
||||
GOOGLE_APP_SECRET=false
|
||||
OKTA_BASE_URL=false
|
||||
OKTA_APP_ID=false
|
||||
OKTA_APP_SECRET=false
|
||||
TWITCH_APP_ID=false
|
||||
TWITCH_APP_SECRET=false
|
||||
GITLAB_APP_ID=false
|
||||
GITLAB_APP_SECRET=false
|
||||
GITLAB_BASE_URI=false
|
||||
|
||||
# External services such as Gravatar and Draw.IO
|
||||
DISABLE_EXTERNAL_SERVICES=false
|
||||
|
||||
# LDAP Settings
|
||||
LDAP_SERVER=false
|
||||
LDAP_BASE_DN=false
|
||||
LDAP_DN=false
|
||||
LDAP_PASS=false
|
||||
LDAP_USER_FILTER=false
|
||||
LDAP_VERSION=false
|
||||
|
||||
# Mail settings
|
||||
MAIL_DRIVER=smtp
|
||||
MAIL_HOST=localhost
|
||||
MAIL_PORT=1025
|
||||
MAIL_USERNAME=null
|
||||
MAIL_PASSWORD=null
|
||||
MAIL_ENCRYPTION=null
|
||||
MAIL_FROM=null
|
||||
MAIL_FROM_NAME=null
|
||||
|
||||
# Only serving cookies over TLS
|
||||
SESSION_SECURE_COOKIE=true
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
# bookstack-ppm
|
||||
[](https://cloud.drone.io/JJTC-Docker/bookstack-ppm)
|
||||
[](https://cloud.drone.io/JJTC-Containers/bookstack-ppm)
|
||||
[](https://hub.docker.com/r/jjtc/bookstack-ppm/)
|
||||
[](https://github.com/jjtc-docker/bookstack-ppm)
|
||||
[](https://github.com/jjtc-docker/bookstack-ppm)
|
||||
[](https://github.com/jjtc-containers/bookstack-ppm)
|
||||
[](https://github.com/jjtc-containers/bookstack-ppm)
|
||||
[](https://github.com/php-pm/php-pm)
|
||||
|
||||
Bookstack setup based on Alpine, Nginx, PHP-PM, MariaDB, Redis & ClamAV for use with Træfik
|
||||
|
|
@ -1,27 +1,28 @@
|
|||
FROM alpine:edge
|
||||
FROM alpine:3.13
|
||||
|
||||
LABEL maintainer="JJTC <docker@jjtc.eu>"
|
||||
LABEL maintainer="JJTC <oci@jjtc.eu>"
|
||||
|
||||
ENV PPM_VERSION=2.0.0 \
|
||||
PPM_HTTP_VERSION=2.0.2 \
|
||||
ENV PPM_VERSION=2.2.1 \
|
||||
PPM_HTTP_VERSION=2.0.6 \
|
||||
BOOKSTACK=BookStack \
|
||||
BOOKSTACK_VERSION=0.26.3 \
|
||||
BOOKSTACK_VERSION=0.31.6 \
|
||||
BOOKSTACK_HOME="/app"
|
||||
|
||||
COPY docker-entrypoint.sh /app/docker-entrypoint.sh
|
||||
COPY entrypoint.sh /app/entrypoint.sh
|
||||
|
||||
RUN set -ex \
|
||||
&& chmod +x /app/docker-entrypoint.sh \
|
||||
&& chmod +x /app/entrypoint.sh \
|
||||
# ensure www-data user exists
|
||||
# 82 is the standard uid/gid for "www-data" in Alpine
|
||||
&& addgroup -g 82 -S www-data \
|
||||
&& adduser -u 82 -D -S -G www-data www-data \
|
||||
&& addgroup -S bookstack \
|
||||
&& adduser -S -D -H -s /sbin/nologin -G bookstack -g bookstack bookstack \
|
||||
&& apk update \
|
||||
&& echo "Setting up PHP extensions" \
|
||||
&& echo "Getting packages:" \
|
||||
&& apk add --no-cache \
|
||||
bash \
|
||||
curl \
|
||||
su-exec \
|
||||
multirun \
|
||||
nginx \
|
||||
tar \
|
||||
php7 \
|
||||
|
|
@ -49,7 +50,6 @@ RUN set -ex \
|
|||
php7-session \
|
||||
php7-simplexml \
|
||||
php7-sockets \
|
||||
php7-tidy \
|
||||
php7-tokenizer \
|
||||
php7-xml \
|
||||
php7-xmlwriter \
|
||||
|
|
@ -58,27 +58,37 @@ RUN set -ex \
|
|||
composer \
|
||||
&& echo "Setting up PPM:" \
|
||||
&& mkdir -p /ppm/run \
|
||||
&& chmod 0777 /ppm/run \
|
||||
&& cd /ppm \
|
||||
&& chmod -R 777 run/ \
|
||||
&& composer require php-pm/php-pm:${PPM_VERSION} php-pm/httpkernel-adapter:${PPM_HTTP_VERSION} \
|
||||
&& echo "Get BookStack:" \
|
||||
&& chown www-data:www-data -R . \
|
||||
&& echo "Getting BookStack:" \
|
||||
&& mkdir -p ${BOOKSTACK_HOME} \
|
||||
&& cd ${BOOKSTACK_HOME} \
|
||||
&& curl -LJO https://github.com/BookStackApp/BookStack/archive/v${BOOKSTACK_VERSION}.tar.gz \
|
||||
&& tar --strip-components=1 -xzf BookStack-${BOOKSTACK_VERSION}.tar.gz \
|
||||
&& rm -rf ${BOOKSTACK}-${BOOKSTACK_VERSION}.tar.gz .env.example .gitattributes .github .gitignore .travis.yml tests/ public/index.php \
|
||||
&& curl https://raw.githubusercontent.com/BookStackApp/BookStack/873b1099f81f6a9d2619644aef0587e2b73d918a/bootstrap/autoload.php -o bootstrap/autoload.php \
|
||||
&& echo "Get Dependencies:" \
|
||||
&& rm -rf ${BOOKSTACK}-${BOOKSTACK_VERSION}.tar.gz .env.example .env.example.complete .gitattributes .github .gitignore .travis.yml tests/ public/index.php \
|
||||
&& ln -s init.php bootstrap/autoload.php \
|
||||
&& echo "Getting BookStack Dependencies:" \
|
||||
&& composer install \
|
||||
&& echo "Changing ownership:" \
|
||||
&& chown -R www-data:www-data . \
|
||||
&& echo "Ensure Nginx got access to tmp folder:" \
|
||||
&& chown www-data:root -R /var/lib/nginx/tmp
|
||||
&& chown bookstack:bookstack -R . \
|
||||
&& echo "Setting folder permissions for www-data:" \
|
||||
&& chown www-data:bookstack -R bootstrap/cache public/uploads storage \
|
||||
&& echo "Ensuring www-data got access to Nginx folders:" \
|
||||
&& chown www-data:www-data -R /var/lib/nginx /var/log/nginx \
|
||||
&& echo "Redirecting Nginx logs to stdout and stderr:" \
|
||||
&& ln -sf /dev/stdout /var/log/nginx/access.log \
|
||||
&& ln -sf /dev/stderr /var/log/nginx/error.log \
|
||||
&& echo "Giving all system users access to multirun:" \
|
||||
&& chmod 0755 /usr/bin/multirun
|
||||
|
||||
USER www-data
|
||||
|
||||
WORKDIR $BOOKSTACK_HOME
|
||||
|
||||
EXPOSE 80
|
||||
EXPOSE 8080/tcp
|
||||
|
||||
VOLUME ["$BOOKSTACK_HOME/public/uploads", "$BOOKSTACK_HOME/public/storage"]
|
||||
|
||||
ENTRYPOINT ["./docker-entrypoint.sh"]
|
||||
ENTRYPOINT ["multirun", "nginx", "./entrypoint.sh"]
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
listen 8888;
|
||||
listen [::]:8888;
|
||||
|
||||
server_name _;
|
||||
root /app/public/;
|
||||
|
|
@ -9,7 +9,7 @@ server {
|
|||
client_body_timeout 120s; # Default is 60, May need to be increased for very large uploads
|
||||
client_body_buffer_size 128k;
|
||||
|
||||
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self'; connect-src 'self'; font-src 'self'; form-action 'self'; frame-ancestors 'none'; report-uri https://<YOUR_ACCOUNT>.report-uri.com/r/d/csp/enforce; report-to default;" always;
|
||||
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' blob:; connect-src 'self'; font-src 'self'; form-action 'self'; frame-ancestors 'none'; report-uri https://<YOUR_ACCOUNT>.report-uri.com/r/d/csp/enforce; report-to default;" always;
|
||||
add_header Expect-CT "enforce; max-age=604800; report-uri=https://<YOUR_ACCOUNT>.report-uri.com/r/d/ct/enforce";
|
||||
add_header Feature-Policy "accelerometer 'none'; ambient-light-sensor 'none'; encrypted-media 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; midi 'none'; payment 'none'; sync-xhr 'none'; usb 'none'; vr 'none'";
|
||||
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload" always;
|
||||
|
|
|
|||
|
|
@ -1,20 +0,0 @@
|
|||
#!/bin/sh
|
||||
set -ex
|
||||
|
||||
php artisan key:generate --no-interaction --force
|
||||
php artisan migrate --no-interaction --force
|
||||
|
||||
echo "Setting folder permissions for uploads"
|
||||
chown -R www-data:www-data public/uploads storage/uploads /ppm
|
||||
|
||||
php artisan cache:clear
|
||||
php artisan view:clear
|
||||
|
||||
echo "Starting Nginx:"
|
||||
nginx
|
||||
|
||||
echo "Getting PPM ready:"
|
||||
trapIt () { "$@"& pid="$!"; trap 'kill -INT $pid' INT TERM; while kill -0 $pid > /dev/null 2>&1; do wait $pid; ec="$?"; done; exit $ec;};
|
||||
|
||||
echo "Starting PPM:"
|
||||
trapIt su-exec www-data:www-data /ppm/vendor/bin/ppm start --ansi --no-interaction --config=ppm.json
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
#!/bin/sh
|
||||
set -ex
|
||||
|
||||
if [ ! -f .env ]; then
|
||||
php artisan key:generate --no-interaction --force
|
||||
fi
|
||||
php artisan migrate --no-interaction --force
|
||||
|
||||
php artisan cache:clear
|
||||
php artisan view:clear
|
||||
|
||||
echo "Starting PPM:"
|
||||
/ppm/vendor/bin/ppm start --ansi --no-interaction --config=ppm.json
|
||||
|
|
@ -1,55 +1,54 @@
|
|||
user www-data;
|
||||
worker_processes auto;
|
||||
pid /run/nginx.pid;
|
||||
pid /tmp/nginx.pid;
|
||||
daemon on;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
##
|
||||
# Basic Settings
|
||||
##
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
||||
keepalive_timeout 65;
|
||||
types_hash_max_size 2048;
|
||||
server_tokens off; # Do not announce nginx's version to the world!
|
||||
##
|
||||
# Basic Settings
|
||||
##
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
||||
keepalive_timeout 65;
|
||||
types_hash_max_size 2048;
|
||||
server_tokens off; # Do not announce nginx's version to the world!
|
||||
|
||||
# server_names_hash_bucket_size 64;
|
||||
# server_name_in_redirect off;
|
||||
# server_names_hash_bucket_size 64;
|
||||
# server_name_in_redirect off;
|
||||
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
##
|
||||
# Logging Settings
|
||||
##
|
||||
access_log /var/log/nginx/access.log;
|
||||
error_log /var/log/nginx/error.log;
|
||||
##
|
||||
# Logging Settings
|
||||
##
|
||||
access_log /var/log/nginx/access.log;
|
||||
error_log /var/log/nginx/error.log;
|
||||
|
||||
##
|
||||
# Proxy Settings
|
||||
##
|
||||
proxy_buffering off;
|
||||
##
|
||||
# Proxy Settings
|
||||
##
|
||||
proxy_buffering off;
|
||||
|
||||
##
|
||||
# Gzip Settings
|
||||
##
|
||||
gzip on;
|
||||
gzip_disable "msie6";
|
||||
##
|
||||
# Gzip Settings
|
||||
##
|
||||
gzip on;
|
||||
gzip_disable "msie6";
|
||||
|
||||
gzip_vary on;
|
||||
gzip_proxied any;
|
||||
gzip_comp_level 6;
|
||||
gzip_buffers 16 8k;
|
||||
gzip_http_version 1.1;
|
||||
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
|
||||
gzip_vary on;
|
||||
gzip_proxied any;
|
||||
gzip_comp_level 6;
|
||||
gzip_buffers 16 8k;
|
||||
gzip_http_version 1.1;
|
||||
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
|
||||
|
||||
##
|
||||
# Virtual Host Configs
|
||||
##
|
||||
include /etc/nginx/sites-enabled/*;
|
||||
##
|
||||
# Virtual Host Configs
|
||||
##
|
||||
include /etc/nginx/sites-enabled/*;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ upload_max_filesize = 64M
|
|||
expose_php=0
|
||||
|
||||
session.save_handler = redis
|
||||
session.save_path = "tcp://redis:6379"
|
||||
session.save_path = "tcp://cache:6379?database=1"
|
||||
|
||||
opcache.enable=1
|
||||
opcache.enable_cli=1
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
"host": "127.0.0.1",
|
||||
"port": 8080,
|
||||
"workers": 8,
|
||||
"app-env": "prod",
|
||||
"app-env": "production",
|
||||
"debug": 0,
|
||||
"logging": 1,
|
||||
"static-directory": "public\/",
|
||||
|
|
|
|||
|
|
@ -2,10 +2,8 @@
|
|||
|
||||
# Setup process
|
||||
|
||||
|
||||
# Check if .env exists
|
||||
|
||||
|
||||
## if not create .env and start guided setup
|
||||
### Check dependencies e.g. openssl/libressl
|
||||
|
||||
|
|
@ -14,6 +12,3 @@ openssl rand -base64 32
|
|||
|
||||
# Check is there is new version and offer to download
|
||||
## if .env exists but is and old version then Update and get user input
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
version: '3.5'
|
||||
version: '3.7'
|
||||
|
||||
services:
|
||||
db:
|
||||
image: mariadb:10.3
|
||||
image: mariadb:10.5
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
- TZ=${APP_TIMEZONE}
|
||||
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASS}
|
||||
- MYSQL_DATABASE=${DB_DATABASE}
|
||||
- MYSQL_USER=${DB_USERNAME}
|
||||
|
|
@ -15,17 +16,18 @@ services:
|
|||
- backend
|
||||
|
||||
cache:
|
||||
image: redis:5-alpine
|
||||
image: redis:6-alpine
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
- TZ=${APP_TIMEZONE}
|
||||
volumes:
|
||||
- cache:/data/
|
||||
networks:
|
||||
- backend
|
||||
|
||||
app:
|
||||
image: jjtc/bookstack-ppm:0.26.3-r0
|
||||
image: jjtc/bookstack-ppm:0.31.6-r0
|
||||
init: true
|
||||
build: ./app/
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
|
|
@ -40,19 +42,21 @@ services:
|
|||
- uploads:/app/public/uploads:rw
|
||||
- storage:/app/public/storage:rw
|
||||
expose:
|
||||
- "80/tcp"
|
||||
- "8888/tcp"
|
||||
networks:
|
||||
- web
|
||||
- backend
|
||||
labels:
|
||||
- "traefik.frontend.headers.STSPreload=true"
|
||||
- "traefik.frontend.headers.STSSeconds=31536000"
|
||||
- "traefik.backend=bookstack"
|
||||
- "traefik.docker.network=web"
|
||||
- "traefik.frontend.rule=Host:${APP_URL_BASE}"
|
||||
- "traefik.enable=true"
|
||||
- "traefik.port=80"
|
||||
- "traefik.default.protocol=http"
|
||||
- "traefik.http.routers.bookstack.entrypoints=http"
|
||||
- "traefik.http.routers.bookstack.rule=Host(`${APP_URL_BASE}`)"
|
||||
- "traefik.http.routers.bookstack-secure.entrypoints=https"
|
||||
- "traefik.http.routers.bookstack-secure.rule=Host(`${APP_URL_BASE}`)"
|
||||
- "traefik.http.routers.bookstack-secure.tls=true"
|
||||
- "traefik.http.routers.bookstack-secure.tls.certresolver=default"
|
||||
- "traefik.http.routers.bookstack-secure.service=bookstack"
|
||||
- "traefik.http.services.bookstack.loadbalancer.server.scheme=http"
|
||||
- "traefik.http.services.bookstack.loadbalancer.server.port=8888"
|
||||
|
||||
# av:
|
||||
# image: jjtc/av:0.100.0-r0
|
||||
|
|
@ -69,14 +73,24 @@ services:
|
|||
# - "traefik.enable=false"
|
||||
|
||||
#traefik:
|
||||
# image: traefik:latest
|
||||
# image: traefik:2.4
|
||||
# restart: unless-stopped
|
||||
# command: traefik --docker --acme=true --acme.domains='your.domain.tld' --acme.email='your@email.tld' --acme.entrypoint=https --acme.storagefile=acme.json --defaultentrypoints=http --defaultentrypoints=https --entryPoints='Name$
|
||||
# security_opt:
|
||||
# - no-new-privileges:true
|
||||
# command:
|
||||
# - --entrypoints.web.address=:80
|
||||
# - --entrypoints.websecure.address=:443
|
||||
# - --providers.docker=true
|
||||
- # - --certificatesresolvers.leresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory
|
||||
# - --certificatesresolvers.leresolver.acme.email=your@email.com
|
||||
# - --certificatesresolvers.leresolver.acme.storage=/acme.json
|
||||
# - --certificatesresolvers.leresolver.acme.tlschallenge=true
|
||||
# ports:
|
||||
# - 80:80
|
||||
# - 443:443
|
||||
# - "80:80/tcp"
|
||||
# - "443:443/tcp
|
||||
# volumes:
|
||||
# - /var/run/docker.sock:/var/run/docker.sock
|
||||
# - "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
# - "./acme.json:/acme.json:rw"
|
||||
|
||||
networks:
|
||||
backend:
|
||||
|
|
|
|||
Loading…
Reference in New Issue