1
- # Read path for persistent storage from command line arguments.
2
- VOLUME_PATH=${1}
3
-
4
- # Create a new Docker bridge network for communication between containers.
5
- sudo docker network create --driver bridge nginxproxymanager-nextcloud-postgres-redis
6
-
7
- # Stop the Nginx Proxy Manager container and then remove it from Docker.
1
+ # Stop the containers and remove them from Docker.
8
2
sudo docker stop nginxproxymanager && sudo docker rm nginxproxymanager
3
+ sudo docker stop postgres && sudo docker rm postgres
4
+ sudo docker stop redis && sudo docker rm redis
5
+ sudo docker stop nextcloud && sudo docker rm nextcloud
9
6
10
- # Download the latest Docker image of Nginx Proxy Manager .
7
+ # Download the latest Docker images .
11
8
sudo docker pull jc21/nginx-proxy-manager:latest
9
+ sudo docker pull postgres:latest
10
+ sudo docker pull redis:latest
11
+ sudo docker pull nextcloud:latest
12
+
13
+ # Read path for persistent storage from command line arguments.
14
+ VOLUME_PATH=${1}
12
15
13
- # Create persistent storage directories for Nginx Proxy Manager container volume .
16
+ # Create persistent storage directories for the container volumes .
14
17
sudo mkdir -p ${VOLUME_PATH} /nginx
15
18
sudo mkdir -p ${VOLUME_PATH} /nginx/data
16
19
sudo mkdir -p ${VOLUME_PATH} /nginx/letsencrypt
20
+ sudo mkdir -p ${VOLUME_PATH} /postgres
21
+ sudo mkdir -p ${VOLUME_PATH} /nextcloud
22
+
23
+ # Generate passwords for PostgreSQL and Redis.
24
+ POSTGRES_PASSWORD=$( openssl rand -base64 32 | tr -dc _A-Z-a-z-0-9)
25
+ REDIS_HOST_PASSWORD=$( openssl rand -base64 32 | tr -dc _A-Z-a-z-0-9)
26
+
27
+ # Create a new Docker bridge network for communication between containers.
28
+ sudo docker network create --driver bridge nginxproxymanager-nextcloud-postgres-redis
17
29
18
30
# Run the Docker container for Nginx Proxy Manager.
19
31
sudo docker run -d \
@@ -28,18 +40,6 @@ sudo docker run -d \
28
40
-v " ${VOLUME_PATH} /nginx/letsencrypt:/etc/letsencrypt" \
29
41
jc21/nginx-proxy-manager
30
42
31
- # Stop the PostgreSQL container and then remove it from Docker.
32
- sudo docker stop postgres && sudo docker rm postgres
33
-
34
- # Download the latest Docker image of PostgreSQL.
35
- sudo docker pull postgres:latest
36
-
37
- # Create a persistent storage directory for PostgreSQL container volume.
38
- sudo mkdir -p ${VOLUME_PATH} /postgres
39
-
40
- # Generate a password for PostgreSQL.
41
- POSTGRES_PASSWORD=$( openssl rand -base64 32 | tr -dc _A-Z-a-z-0-9)
42
-
43
43
# Run the Docker container for PostgreSQL.
44
44
sudo docker run -d \
45
45
--name postgres \
@@ -52,15 +52,6 @@ sudo docker run -d \
52
52
-e POSTGRES_PASSWORD=${POSTGRES_PASSWORD} \
53
53
postgres
54
54
55
- # Stop the Redis container and then remove it from Docker.
56
- sudo docker stop redis && sudo docker rm redis
57
-
58
- # Download the latest Docker image of Redis.
59
- sudo docker pull redis:latest
60
-
61
- # Generate a password for Redis.
62
- REDIS_HOST_PASSWORD=$( openssl rand -base64 32 | tr -dc _A-Z-a-z-0-9)
63
-
64
55
# Run the Docker container for Redis.
65
56
sudo docker run -d \
66
57
--name redis \
@@ -69,15 +60,6 @@ sudo docker run -d \
69
60
--network nginxproxymanager-nextcloud-postgres-redis \
70
61
redis redis-server --requirepass ${REDIS_HOST_PASSWORD}
71
62
72
- # Stop the Nextcloud container and then remove it from Docker.
73
- sudo docker stop nextcloud && sudo docker rm nextcloud
74
-
75
- # Download the latest Docker image of Nextcloud.
76
- sudo docker pull nextcloud:latest
77
-
78
- # Create a persistent storage directory for Nextcloud container volume.
79
- sudo mkdir -p ${VOLUME_PATH} /nextcloud
80
-
81
63
# Run the Docker container for Nextcloud.
82
64
sudo docker run -d \
83
65
--name nextcloud \
0 commit comments