Add few Docker Compose examples
This commit is contained in:
parent
e74bf260c6
commit
519fbcf581
6 changed files with 130 additions and 0 deletions
4
contrib/README.md
Normal file
4
contrib/README.md
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
The contrib directory contains various useful things contributed by the community.
|
||||||
|
|
||||||
|
Community contributions are not officially supported by the maintainers.
|
||||||
|
There is no guarantee whatsoever that anything in this folder works.
|
2
contrib/docker-compose/Caddyfile
Normal file
2
contrib/docker-compose/Caddyfile
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
miniflux.example.org
|
||||||
|
reverse_proxy miniflux:8080
|
13
contrib/docker-compose/README.md
Normal file
13
contrib/docker-compose/README.md
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
Docker-Compose Examples
|
||||||
|
=======================
|
||||||
|
|
||||||
|
Here are few Docker Compose examples:
|
||||||
|
|
||||||
|
- `basic.yml`: Basic example
|
||||||
|
- `caddy.yml`: Use Caddy as reverse-proxy with automatic HTTPS
|
||||||
|
- `traefik.yml`: Use Traefik as reverse-proxy with automatic HTTPS
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose -f basic.yml up -d db
|
||||||
|
docker-compose -f basic.yml up
|
||||||
|
```
|
25
contrib/docker-compose/basic.yml
Normal file
25
contrib/docker-compose/basic.yml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
version: '3.3'
|
||||||
|
services:
|
||||||
|
miniflux:
|
||||||
|
image: miniflux/miniflux:latest
|
||||||
|
container_name: miniflux
|
||||||
|
ports:
|
||||||
|
- "80:8080"
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
environment:
|
||||||
|
- DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
|
||||||
|
- RUN_MIGRATIONS=1
|
||||||
|
- CREATE_ADMIN=1
|
||||||
|
- ADMIN_USERNAME=admin
|
||||||
|
- ADMIN_PASSWORD=test123
|
||||||
|
db:
|
||||||
|
image: postgres:latest
|
||||||
|
container_name: postgres
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=miniflux
|
||||||
|
- POSTGRES_PASSWORD=secret
|
||||||
|
volumes:
|
||||||
|
- miniflux-db:/var/lib/postgresql/data
|
||||||
|
volumes:
|
||||||
|
miniflux-db:
|
38
contrib/docker-compose/caddy.yml
Normal file
38
contrib/docker-compose/caddy.yml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
version: '3.3'
|
||||||
|
services:
|
||||||
|
caddy:
|
||||||
|
image: caddy:2
|
||||||
|
container_name: caddy
|
||||||
|
depends_on:
|
||||||
|
- miniflux
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
volumes:
|
||||||
|
- $PWD/Caddyfile:/etc/caddy/Caddyfile
|
||||||
|
- caddy_data:/data
|
||||||
|
- caddy_config:/config
|
||||||
|
miniflux:
|
||||||
|
image: miniflux/miniflux:latest
|
||||||
|
container_name: miniflux
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
environment:
|
||||||
|
- DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
|
||||||
|
- RUN_MIGRATIONS=1
|
||||||
|
- CREATE_ADMIN=1
|
||||||
|
- ADMIN_USERNAME=admin
|
||||||
|
- ADMIN_PASSWORD=test123
|
||||||
|
- BASE_URL=https://miniflux.example.org
|
||||||
|
db:
|
||||||
|
image: postgres:latest
|
||||||
|
container_name: postgres
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=miniflux
|
||||||
|
- POSTGRES_PASSWORD=secret
|
||||||
|
volumes:
|
||||||
|
- miniflux-db:/var/lib/postgresql/data
|
||||||
|
volumes:
|
||||||
|
miniflux-db:
|
||||||
|
caddy_data:
|
||||||
|
caddy_config:
|
48
contrib/docker-compose/traefik.yml
Normal file
48
contrib/docker-compose/traefik.yml
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
version: '3.3'
|
||||||
|
services:
|
||||||
|
traefik:
|
||||||
|
image: "traefik:v2.3"
|
||||||
|
container_name: traefik
|
||||||
|
command:
|
||||||
|
- "--providers.docker=true"
|
||||||
|
- "--providers.docker.exposedbydefault=false"
|
||||||
|
- "--entrypoints.websecure.address=:443"
|
||||||
|
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
|
||||||
|
- "--certificatesresolvers.myresolver.acme.email=postmaster@example.com"
|
||||||
|
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
|
||||||
|
depends_on:
|
||||||
|
- miniflux
|
||||||
|
ports:
|
||||||
|
- "443:443"
|
||||||
|
volumes:
|
||||||
|
- "./letsencrypt:/letsencrypt"
|
||||||
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||||
|
miniflux:
|
||||||
|
image: miniflux/miniflux:latest
|
||||||
|
container_name: miniflux
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
expose:
|
||||||
|
- "8080"
|
||||||
|
environment:
|
||||||
|
- DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
|
||||||
|
- RUN_MIGRATIONS=1
|
||||||
|
- CREATE_ADMIN=1
|
||||||
|
- ADMIN_USERNAME=admin
|
||||||
|
- ADMIN_PASSWORD=test123
|
||||||
|
- BASE_URL=https://miniflux.example.org
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.miniflux.rule=Host(`miniflux.example.org`)"
|
||||||
|
- "traefik.http.routers.miniflux.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.miniflux.tls.certresolver=myresolver"
|
||||||
|
db:
|
||||||
|
image: postgres:latest
|
||||||
|
container_name: postgres
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=miniflux
|
||||||
|
- POSTGRES_PASSWORD=secret
|
||||||
|
volumes:
|
||||||
|
- miniflux-db:/var/lib/postgresql/data
|
||||||
|
volumes:
|
||||||
|
miniflux-db:
|
Loading…
Reference in a new issue