Skip to content

Commit 0a1590a

Browse files
committed
Merge branch '6-dev' into install_structure
# Conflicts: # docs/install/index.md
2 parents a473fa3 + 1819cb7 commit 0a1590a

File tree

15 files changed

+382
-163
lines changed

15 files changed

+382
-163
lines changed

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ linkcheck: deps ## Run linkcheck
189189

190190
.PHONY: linkcheckbroken
191191
linkcheckbroken: deps ## Run linkcheck and show only broken links
192-
cd $(DOCS_DIR) && $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck | GREP_COLORS='0;31' grep -wi "broken\|redirect" --color=auto
192+
cd $(DOCS_DIR) && $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck | GREP_COLORS='0;31' grep -wi "broken\|redirect" --color=auto || test $$? = 1
193193
@echo
194194
@echo "Link check complete; look for any errors in the above output " \
195195
"or in $(BUILDDIR)/linkcheck/ ."
@@ -212,7 +212,7 @@ doctest: deps
212212
"results in $(BUILDDIR)/doctest/output.txt."
213213

214214
.PHONY: test
215-
test: clean linkcheck spellcheck ## Clean docs build, then run linkcheck, spellcheck
215+
test: clean linkcheckbroken spellcheck ## Clean docs build, then run linkcheckbroken, spellcheck
216216

217217
.PHONY: deploy
218218
deploy: clean html

docs/glossary.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,9 @@ DPI
289289
Docker
290290
[Docker](https://www.docker.com/) is an open platform for developing, shipping, and running applications using containers.
291291
292+
Docker Compose
293+
[Docker Compose](https://docs.docker.com/compose/) is a tool for defining and running multi-container Docker applications.
294+
292295
RelStorage
293296
[RelStorage](https://relstorage.readthedocs.io/en/latest/) is a storage implementation for ZODB that stores pickles in a relational database.
294297
@@ -297,4 +300,10 @@ ZEO
297300
298301
PostgreSQL
299302
[PostgreSQL](https://www.postgresql.org/) is a powerful, open source object-relational database.
303+
304+
HAProxy
305+
[HAProxy](https://www.haproxy.org/) is a free, very fast and reliable reverse-proxy offering high availability, load balancing, and proxying for TCP and HTTP-based applications.
306+
307+
nginx
308+
[nginx](https://docs.nginx.com/nginx/) (pronounced "engine x") is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev.
300309
```
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
html_meta:
3+
"description": "Simple Plone 6 setup with scalable backend and data being persisted in a ZEO volume."
4+
"property=og:description": "Simple Plone 6 setup with scalable backend and data being persisted in a ZEO volume."
5+
"property=og:title": "HAProxy, Backend, ZEO container example"
6+
"keywords": "Plone 6, Container, Docker, HAProxy, ZEO"
7+
---
8+
9+
# HAProxy, Backend, ZEO container example
10+
11+
This example is a very simple setup with one or more backend instances accessing a ZEO server and data being persisted in a Docker volume.
12+
13+
{term}`HAProxy` is used for load balancing in this example.
14+
We will use the image [`plone/plone-haproxy`](https://github.com/plone/plone-haproxy).
15+
16+
17+
## Setup
18+
19+
Create a directory for your project, and inside it create a `docker-compose.yml` file that starts your Plone instance and the ZEO instance with volume mounts for data persistence.
20+
21+
```yaml
22+
version: "3"
23+
services:
24+
25+
lb:
26+
image: plone/plone-haproxy
27+
depends_on:
28+
- backend
29+
ports:
30+
- "8080:8080"
31+
- "1936:1936"
32+
environment:
33+
FRONTEND_PORT: "8080"
34+
BACKENDS: "backend"
35+
BACKENDS_PORT: "8080"
36+
DNS_ENABLED: "True"
37+
HTTPCHK: "GET /"
38+
INTER: "5s"
39+
LOG_LEVEL: "info"
40+
41+
backend:
42+
image: plone/plone-backend:6.0.0a4
43+
restart: always
44+
environment:
45+
ZEO_ADDRESS: zeo:8100
46+
ports:
47+
- "8080"
48+
depends_on:
49+
- zeo
50+
51+
zeo:
52+
image: plone/plone-zeo:latest
53+
restart: always
54+
volumes:
55+
- data:/data
56+
ports:
57+
- "8100"
58+
59+
volumes:
60+
data: {}
61+
```
62+
63+
64+
## Build the project with multiple backends
65+
66+
Run `docker compose up -d --scale backend=4` from your project directory.
67+
68+
69+
## Access Plone via Browser
70+
71+
Point your browser at `http://localhost:8080`.
72+
Login using the username and password combination of `admin` and `admin`.
73+
You should see the default Plone site creation page.
74+
75+
76+
## Access HAProxy Stats Page via Browser
77+
78+
Point your browser at `http://localhost:1936`.
79+
Login using the username and password combination of `admin` and `admin`.
80+
You should see HAProxy statistics for your Plone cluster.
81+
82+
83+
## Shutdown and cleanup
84+
85+
The command `docker compose down` removes the containers and default network, but preserves the Plone database.
86+
87+
The command `docker compose down --volumes` removes the containers, default network, and the Plone database.

docs/install/containers/examples/index.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,15 @@ nginx-volto-plone
1616
nginx-volto-plone-zeo
1717
nginx-volto-plone-postgresql
1818
nginx-plone
19+
haproxy-plone-zeo
1920
```
2021

21-
Examples of projects running Plone using `docker-compose`.
22+
Examples of projects running Plone using `docker compose`.
2223

2324
| Project example | Description |
2425
| --- | --- |
25-
| [nginx-volto-plone](nginx-volto-plone) | Stack with nginx, Frontend and Backend |
26-
| [nginx-volto-plone-zeo](nginx-volto-plone-zeo) | Stack with nginx, Frontend, Backend and ZEO server |
27-
| [nginx-volto-plone-postgresql](nginx-volto-plone-postgresql) | Stack with nginx, Frontend, Backend and PostgreSQL DB |
28-
| [nginx-plone](nginx-plone) | Stack with nginx, and Backend (Plone Classic) |
26+
| [nginx-volto-plone](nginx-volto-plone) | Stack with nginx, Frontend, and Backend |
27+
| [nginx-volto-plone-zeo](nginx-volto-plone-zeo) | Stack with nginx, Frontend, Backend, and ZEO server |
28+
| [nginx-volto-plone-postgresql](nginx-volto-plone-postgresql) | Stack with nginx, Frontend, Backend, and PostgreSQL DB |
29+
| [nginx-plone](nginx-plone) | Stack with nginx and Backend (Plone Classic) |
30+
| [haproxy-plone-zeo](haproxy-plone-zeo) | Stack with HAProxy, Backend, and ZEO server |

docs/install/containers/examples/nginx-plone.md

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22
html_meta:
33
"description": "Simple Plone 6 setup with one backend and data being persisted in a Docker volume."
44
"property=og:description": "Simple Plone 6 setup with one backend and data being persisted in a Docker volume."
5-
"property=og:title": "Nginx, Plone Classic container example"
6-
"keywords": "Plone 6, Container, Docker, Nginx, Plone Classic"
5+
"property=og:title": "nginx, Plone Classic container example"
6+
"keywords": "Plone 6, Container, Docker, nginx, Plone Classic"
77
---
88

9-
# Nginx, Plone Classic container example
9+
# nginx, Plone Classic container example
1010

11-
Simple setup with one backend and data being persisted in a Docker volume.
11+
This example is a simple setup with one backend and data being persisted in a Docker volume.
12+
13+
{term}`nginx` in this example is used as a [reverse proxy](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/).
1214

1315

1416
## Setup
@@ -50,8 +52,12 @@ server {
5052
}
5153
```
5254

55+
```{note}
56+
`http://plone.localhost/` is the URL you will be using to access the website.
57+
You can either use `localhost`, or add it in your `/etc/hosts` file or DNS to point to the Docker host IP.
58+
```
5359

54-
### Service configuration with `docker-compose`
60+
### Service configuration with Docker Compose
5561

5662
Now let's create a `docker-compose.yml` file:
5763

@@ -85,10 +91,10 @@ volumes:
8591
8692
## Build the project
8793
88-
Start the stack with `docker-compose`.
94+
Start the stack with `docker compose`.
8995

9096
```shell
91-
docker-compose up -d
97+
docker compose up -d
9298
```
9399

94100
This pulls the needed images and starts Plone.
@@ -101,6 +107,6 @@ After startup, go to `http://plone.localhost/` and you should see the site.
101107

102108
## Shutdown and cleanup
103109

104-
The command `docker-compose down` removes the containers and default network, but preserves the Plone database.
110+
The command `docker compose down` removes the containers and default network, but preserves the Plone database.
105111

106-
The command `docker-compose down --volumes` removes the containers, default network, and the Plone database.
112+
The command `docker compose down --volumes` removes the containers, default network, and the Plone database.

docs/install/containers/examples/nginx-volto-plone-postgresql.md

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22
html_meta:
33
"description": "Very simple Plone 6 setup with only one or more backend instances accessing a PostgreSQL server and data being persisted in a Docker volume."
44
"property=og:description": "Very simple Plone 6 setup with only one or more backend instances accessing a PostgreSQL server and data being persisted in a Docker volume."
5-
"property=og:title": "Nginx, Frontend, Backend, PostgreSQL container example"
6-
"keywords": "Plone 6, Container, Docker, Nginx, Frontend, Backend, PostgreSQL, "
5+
"property=og:title": "nginx, Frontend, Backend, PostgreSQL container example"
6+
"keywords": "Plone 6, Container, Docker, nginx, Frontend, Backend, PostgreSQL, "
77
---
88

9-
# Nginx, Frontend, Backend, PostgreSQL container example
9+
# nginx, Frontend, Backend, PostgreSQL container example
1010

11-
Very simple setup with only one or more backend instances accessing a Postgres server and data being persisted in a Docker volume.
11+
This example is a very simple setup with one or more backend instances accessing a Postgres server and data being persisted in a Docker volume.
12+
13+
{term}`nginx` in this example is used as a [reverse proxy](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/).
1214

1315

1416
## Setup
@@ -75,8 +77,13 @@ server {
7577
}
7678
```
7779

80+
```{note}
81+
`http://plone.localhost/` is the URL you will be using to access the website.
82+
You can either use `localhost`, or add it in your `/etc/hosts` file or DNS to point to the Docker host IP.
83+
```
84+
7885

79-
### Service configuration with `docker-compose`
86+
### Service configuration with Docker Compose
8087

8188
Now let's create a `docker-compose.yml` file:
8289

@@ -131,10 +138,10 @@ volumes:
131138
132139
## Build the project
133140
134-
Start the stack with `docker-compose`.
141+
Start the stack with `docker compose`.
135142

136143
```shell
137-
docker-compose up -d
144+
docker compose up -d
138145
```
139146

140147
This pulls the needed images and starts Plone.
@@ -147,15 +154,15 @@ After startup, go to `http://plone.localhost/` and you should see the site.
147154

148155
## Increase the number of backends
149156

150-
To use two containers for backend, run `docker-compose` with `--scale`.
157+
To use two containers for backend, run `docker compose` with `--scale`.
151158

152159
```shell
153-
docker-compose up --scale backend=2
160+
docker compose up --scale backend=2
154161
```
155162

156163

157164
## Shutdown and cleanup
158165

159-
The command `docker-compose down` removes the containers and default network, but preserves the Plone database.
166+
The command `docker compose down` removes the containers and default network, but preserves the Plone database.
160167

161-
The command `docker-compose down --volumes` removes the containers, default network, and the Plone database.
168+
The command `docker compose down --volumes` removes the containers, default network, and the Plone database.

docs/install/containers/examples/nginx-volto-plone-zeo.md

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22
html_meta:
33
"description": "Very simple Plone 6 setup with only one or more backend instances accessing a ZEO server and data being persisted in a Docker volume."
44
"property=og:description": "Very simple Plone 6 setup with only one or more backend instances accessing a ZEO server and data being persisted in a Docker volume."
5-
"property=og:title": "Nginx, Frontend, Backend, ZEO container example"
6-
"keywords": "Plone 6, Container, Docker, Nginx, Frontend, Backend, ZEO"
5+
"property=og:title": "nginx, Frontend, Backend, ZEO container example"
6+
"keywords": "Plone 6, Container, Docker, nginx, Frontend, Backend, ZEO"
77
---
88

9-
# Nginx, Frontend, Backend, ZEO container example
9+
# nginx, Frontend, Backend, ZEO container example
1010

11-
Very simple setup with only one or more backend instances accessing a ZEO server and data being persisted in a Docker volume.
11+
This example is a very simple setup with one or more backend instances accessing a ZEO server and data being persisted in a Docker volume.
12+
13+
{term}`nginx` in this example is used as a [reverse proxy](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/).
1214

1315

1416
## Setup
@@ -75,8 +77,13 @@ server {
7577
}
7678
```
7779

80+
```{note}
81+
`http://plone.localhost/` is the URL you will be using to access the website.
82+
You can either use `localhost`, or add it in your `/etc/hosts` file or DNS to point to the Docker host IP.
83+
```
84+
7885

79-
### Service configuration with `docker-compose`
86+
### Service configuration with Docker Compose
8087

8188
Now let's create a `docker-compose.yml` file:
8289

@@ -128,10 +135,10 @@ volumes:
128135
129136
## Build the project
130137
131-
Start the stack with `docker-compose`.
138+
Start the stack with `docker compose`.
132139

133140
```shell
134-
docker-compose up -d
141+
docker compose up -d
135142
```
136143

137144
This pulls the needed images and starts Plone.
@@ -144,15 +151,15 @@ After startup, go to `http://plone.localhost/` and you should see the site.
144151

145152
## Increase the number of backends
146153

147-
To use two containers for the backend, run `docker-compose` with `--scale`.
154+
To use two containers for the backend, run `docker compose` with `--scale`.
148155

149156
```shell
150-
docker-compose up --scale backend=2
157+
docker compose up --scale backend=2
151158
```
152159

153160

154161
## Shutdown and cleanup
155162

156-
The command `docker-compose down` removes the containers and default network, but preserves the Plone database.
163+
The command `docker compose down` removes the containers and default network, but preserves the Plone database.
157164

158-
The command `docker-compose down --volumes` removes the containers, default network, and the Plone database.
165+
The command `docker compose down --volumes` removes the containers, default network, and the Plone database.

docs/install/containers/examples/nginx-volto-plone.md

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22
html_meta:
33
"description": "Very simple Plone 6 setup with only one backend and data being persisted in a Docker volume."
44
"property=og:description": "Very simple Plone 6 setup with only one backend and data being persisted in a Docker volume."
5-
"property=og:title": "Nginx, Frontend, Backend container example"
6-
"keywords": "Plone 6, Container, Docker, Nginx, Frontend, Backend"
5+
"property=og:title": "nginx, Frontend, Backend container example"
6+
"keywords": "Plone 6, Container, Docker, nginx, Frontend, Backend"
77
---
88

9-
# Nginx, Frontend, Backend container example
9+
# nginx, Frontend, Backend container example
1010

11-
Very simple setup with only one backend and data being persisted in a Docker volume.
11+
This example is a very simple setup with one backend and data being persisted in a Docker volume.
1212

13+
{term}`nginx` in this example is used as a [reverse proxy](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/).
1314

1415
## Setup
1516

@@ -75,8 +76,12 @@ server {
7576
}
7677
```
7778

79+
```{note}
80+
`http://plone.localhost/` is the URL you will be using to access the website.
81+
You can either use `localhost`, or add it in your `/etc/hosts` file or DNS to point to the Docker host IP.
82+
```
7883

79-
### Service configuration with `docker-compose`
84+
### Service configuration with Docker Compose
8085

8186
Now let's create a `docker-compose.yml` file:
8287

@@ -119,10 +124,10 @@ volumes:
119124
120125
## Build the project
121126
122-
Start the stack with `docker-compose`.
127+
Start the stack with `docker compose`.
123128

124129
```shell
125-
docker-compose up -d
130+
docker compose up -d
126131
```
127132

128133
This pulls the needed images and starts Plone.
@@ -135,6 +140,6 @@ After startup, go to `http://plone.localhost/` and you should see the site.
135140

136141
## Shutdown and cleanup
137142

138-
The command `docker-compose down` removes the containers and default network, but preserves the Plone database.
143+
The command `docker compose down` removes the containers and default network, but preserves the Plone database.
139144

140-
The command `docker-compose down --volumes` removes the containers, default network, and the Plone database.
145+
The command `docker compose down --volumes` removes the containers, default network, and the Plone database.

0 commit comments

Comments
 (0)