You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/admin/getting-started/container/docker-compose/docker-compose-base.md
+63-23Lines changed: 63 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ draft: false
8
8
9
9
# OpenCloud with Docker Compose
10
10
11
-
Install a internetfacing OpenCloud with SSL certification with Docker Compose.
11
+
Install an internet-facing OpenCloud with SSL certification using Docker Compose.
12
12
13
13
This installation documentation is for Ubuntu and Debian systems. The software can also be installed on other Linux distributions, but the commands and package managers may differ.
14
14
@@ -29,27 +29,44 @@ This installation documentation is for Ubuntu and Debian systems. The software c
29
29
Log into your server via SSH:
30
30
31
31
```bash
32
-
ssh root@YOUR.SERVER.IP
32
+
ssh YOUR_ADMIN_USER@YOUR.SERVER.IP
33
33
```
34
34
35
+
:::note
36
+
Use a non-root user with `sudo` privileges. If you logged in as root, prepend `sudo` where appropriate or run the commands without `sudo`
37
+
:::
38
+
35
39
## Install Docker
36
40
37
41
Update your system and install Docker.
38
42
39
43
First, perform an update and upgrade:
40
44
41
45
```bash
42
-
apt update && apt upgrade -y
46
+
sudo apt update && sudo apt upgrade -y
43
47
```
44
48
45
49
Install Docker following the [official Docker guide](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository)
46
50
47
51
Once Docker is installed, enable and start the service:
## Create a dedicated user to run OpenCloud (recommended)
58
+
59
+
For security reasons, do not run the OpenCloud stack as `root`. Create a dedicated user (for example `opencloud`) and run the remaining steps as that user.
60
+
61
+
```bash
62
+
sudo adduser opencloud
63
+
sudo usermod -aG docker opencloud
64
+
```
65
+
66
+
Log out and log back in (or start a new login shell), then continue as `opencloud`.
67
+
68
+
Docker can be managed as a non-root user (e.g. via the `docker` group). Be aware that access to the Docker daemon is effectively equivalent to root access on the host. Limit group membership and restrict access accordingly.
If these variables are left unset, Docker will use internal volumes, which do not persist if the containers are removed — not recommended for real-world use.
200
+
If `OC_CONFIG_DIR` and `OC_DATA_DIR`are not set, Docker uses internal volumes. Those are harder to manage for backups and are not recommended for production.
168
201
169
202
:::caution Security Warning
170
203
171
-
The user with UID 1000 on your host system will have full access to these mounted directories. This means that any local user account with this ID can read, modify, or delete OpenCloud config and data files.
204
+
Any local account that matches the mapped UID/GID can access these mounted directories.
205
+
In shared or multi-user environments, this can expose OpenCloud config and data files.
172
206
173
-
This can pose a security risk in shared or multi-user environments. Make sure to implement proper user and permission management and consider isolating access to these directories.
207
+
Use strict host-level permission management and isolate access to these paths where possible.
174
208
175
209
:::
176
210
@@ -180,9 +214,15 @@ To avoid accidentally updating to a version with breaking changes, you should sp
180
214
181
215
```env
182
216
OC_DOCKER_IMAGE=opencloudeu/opencloud
183
-
OC_DOCKER_TAG=2
217
+
OC_DOCKER_TAG=4.0.3
184
218
```
185
219
220
+
:::tip Keep the version up to date
221
+
The documentation may not always reference the latest available release. Before deploying (and when updating), check the available tags on Docker Hub and adjust `OC_DOCKER_TAG` to the most recent stable version:
0 commit comments