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
This repository will allow you build and deploy a docker container for use with a proxmox cluster as an external qdevice. Properly configured proxmox clusters require an odd number servers in the cluster. In the event that you have an even number of proxmox servers (like 2, such as I have), you need an another device to vote. Proxmox supports this by allow you to configure a qdevice for an external vote.
8
-
9
-
Normally running an even number of servers in a cluster isn't a problem, but I've had situations where I've booted both proxmox servers at the same time. In that case, the first server to come online doesn't have a quorum (1 of 2) so the virtual machines and containers won't start. With an external qdevice thats already up, the first device to come up has quorum (2 of 3).
7
+
This repository allows you to build and deploy a docker container for use with a proxmox cluster as an external qdevice. Properly configured proxmox clusters require an odd number servers in the cluster. In the event that you have an even number of proxmox servers (like 2, such as I have), you need an another device to vote. Proxmox supports this by allow you to configure a qdevice for an external vote.
10
8
11
9
For more information on proxmmox clusters, external qdevices, and how to configure/use them, go [here](https://pve.proxmox.com/wiki/Cluster_Manager#_corosync_external_vote_support).
12
10
@@ -24,49 +22,6 @@ The image contains a shell script and a Supervisord configuration created by thi
24
22
Why a fork? The upstream project hasn't had an update in a year and it lacks weekly builds of the parent image, thus opening up your environment to long-lived vulnerabilities.
25
23
26
24
27
-
## Install:
28
-
29
-
This container is designed to run from either Docker Compose or a container manager, like Portainer.
30
-
31
-
## Configuration:
32
-
33
-
Modify the docker-compose.yml file. Make sure to change:
34
-
35
-
* Environment Variable NEW_ROOT_PASSWORD.
36
-
* Location of your corosync-data (so you can keep your configuration between restarts, etc.).
37
-
* Hostname .
38
-
* Local network information.
39
-
parent (the ethernet device to bind macvlan)
40
-
ipv4_address
41
-
subnet
42
-
ip_range
43
-
gateway
44
-
45
-
## Running / Deploying:
46
-
47
-
You can either run the command:
48
-
49
-
`docker compose up -d`
50
-
51
-
Or cut and paste the docker-compose.yml into portainer.io as a stack and then deploy.
52
-
53
-
## Security Implications:
54
-
55
-
This container installs and configures a sshd server that permits root logins. Proxmox runs in the same configuration. Upon startup, if the environment variable **NEW_ROOT_PASSWORD** exists the root password will be set to the value of that variable upon boot. You can specify what the root password should be setting the value of **NEW_ROOT_PASSWORD** to a password in one of the following ways:
56
-
57
-
1) If you are using a container manager, such as portainer, set the environment variable **NEW_ROOT_PASSWORD** to your specified root password. This variable should get passed to the container.
58
-
2) Follow one of the Docker provided ways documented in how to ["Set environment variables within your container's environment"](https://docs.docker.com/compose/how-tos/environment-variables/set-environment-variables/). Please note that one of the ways described is setting the password in the docker-compose.yml (or the stack) in the environment section (i.e. hardcoding it). If you hardcode the password like this, you can expose the password. You have been warned.
59
-
60
-
Please note that all of the ways listed above to set the environment above should survive the recreation of the container.
61
-
62
-
> [!IMPORTANT]
63
-
>
64
-
> ## A note on `latest` and `beta`:
65
-
>
66
-
> It is not recommended to use the `latest` (`unixerius/proxmox-qdevice`, `unixerius/proxmox-qdevice:latest`) tag for production setups.
67
-
>
68
-
> [Those tags point](https://hub.docker.com/r/unixerius/proxmox-qdevice/tags) might not point to the latest commit in the `master` branch. They do not carry any promise of stability, and using them will probably put your proxmox-qdevice setup at risk of experiencing uncontrolled updates to non backward compatible versions (or versions with breaking changes). You should always specify the version you want to use explicitly to ensure your setup doesn't break when the image is updated.
69
-
70
25
## Acknowledgements:
71
26
72
27
This repository is based on original [work by Bradley Leonard](https://github.com/bcleonard/proxmox-qdevice). Many thanks to his hard work!
This container is designed to run from either Docker Compose or a container manager, like Portainer.
6
+
7
+
## Configuration:
8
+
9
+
Modify the docker-compose.yml file. Make sure to change:
10
+
11
+
* Environment Variable NEW_ROOT_PASSWORD.
12
+
* Location of your corosync-data (so you can keep your configuration between restarts, etc.).
13
+
* Hostname .
14
+
* Local network information.
15
+
parent (the ethernet device to bind macvlan)
16
+
ipv4_address
17
+
subnet
18
+
ip_range
19
+
gateway
20
+
21
+
## Running / Deploying:
22
+
23
+
You can either run the command:
24
+
25
+
`docker compose up -d`
26
+
27
+
Or cut and paste the docker-compose.yml into portainer.io as a stack and then deploy.
28
+
29
+
## Security Implications:
30
+
31
+
This container installs and configures a sshd server that permits root logins. Proxmox runs in the same configuration. Upon startup, if the environment variable **NEW_ROOT_PASSWORD** exists the root password will be set to the value of that variable upon boot. You can specify what the root password should be setting the value of **NEW_ROOT_PASSWORD** to a password in one of the following ways:
32
+
33
+
1) If you are using a container manager, such as portainer, set the environment variable **NEW_ROOT_PASSWORD** to your specified root password. This variable should get passed to the container.
34
+
2) Follow one of the Docker provided ways documented in how to ["Set environment variables within your container's environment"](https://docs.docker.com/compose/how-tos/environment-variables/set-environment-variables/). Please note that one of the ways described is setting the password in the docker-compose.yml (or the stack) in the environment section (i.e. hardcoding it). If you hardcode the password like this, you can expose the password. You have been warned.
35
+
36
+
Please note that all of the ways listed above to set the environment above should survive the recreation of the container.
37
+
38
+
> [!IMPORTANT]
39
+
>
40
+
> ## A note on `latest` and `beta`:
41
+
>
42
+
> It is not recommended to use the `latest` (`unixerius/proxmox-qdevice`, `unixerius/proxmox-qdevice:latest`) tag for production setups.
43
+
>
44
+
> [Those tags point](https://hub.docker.com/r/unixerius/proxmox-qdevice/tags) might not point to the latest commit in the `master` branch. They do not carry any promise of stability, and using them will probably put your proxmox-qdevice setup at risk of experiencing uncontrolled updates to non backward compatible versions (or versions with breaking changes). You should always specify the version you want to use explicitly to ensure your setup doesn't break when the image is updated.
45
+
46
+
## Security Implications:
47
+
48
+
This container installs and configures a sshd server that permits root logins. Proxmox runs in the same configuration. Upon startup, if the environment variable **NEW_ROOT_PASSWORD** exists the root password will be set to the value of that variable upon boot. You can specify what the root password should be setting the value of **NEW_ROOT_PASSWORD** to a password in one of the following ways:
49
+
50
+
1) If you are using a container manager, such as portainer, set the environment variable **NEW_ROOT_PASSWORD** to your specified root password. This variable should get passed to the container.
51
+
2) Follow one of the Docker provided ways documented in how to ["Set environment variables within your container's environment"](https://docs.docker.com/compose/how-tos/environment-variables/set-environment-variables/). Please note that one of the ways described is setting the password in the docker-compose.yml (or the stack) in the environment section (i.e. hardcoding it). If you hardcode the password like this, you can expose the password. You have been warned.
52
+
53
+
Please note that all of the ways listed above to set the environment above should survive the recreation of the container.
0 commit comments