Project

General

Profile

Install » History » Version 2

Gareth Eaton, 11/19/2024 08:14 AM

1 1 Gareth Eaton
h1. Install
2
3
Install
4
5
To install Bitwarden on a Proxmox server, you can follow these general steps:
6
7
1. Set up a Linux container (LXC) on your Proxmox server. Bitwarden supports various Linux distributions, such as Ubuntu or Debian, so you can choose the one you are most comfortable with. For example, if you want to use Ubuntu, you can create an Ubuntu LXC container.
8
9
2. Once the LXC container is created, log in to the container via SSH or the Proxmox web interface.
10
11
3. Update the package repositories and upgrade the system by running the following commands:
12
13
<pre>
14
sudo apt update && sudo apt upgrade -y
15
</pre>
16
17
4. Install the required dependencies. Bitwarden requires Docker and Docker Compose. Install them using the following commands:
18
19
<pre>
20
sudo apt install docker.io -y && sudo apt install docker-compose -y
21
</pre>
22
23
5. Start the Docker service:
24
25
<pre>
26
sudo systemctl start docker
27
</pre>
28
29
6. Create a directory to store the Bitwarden configuration and data:
30
31
<pre>
32
sudo mkdir /opt/bitwarden
33
</pre>
34
35
7. Change the ownership of the directory to the user running Docker:
36
37
<pre>
38
sudo chown 1000:1000 /opt/bitwarden
39
</pre>
40
41
8. Navigate to the Bitwarden directory:
42
43
<pre>
44
cd /opt/bitwarden
45
</pre>
46
47
9. Download the Bitwarden Docker Compose file:
48
49
<pre>
50
   sudo curl -Lso docker-compose.yml https://raw.githubusercontent.com/bitwarden/server/master/docker/docker-compose.yml
51
</pre>
52
53
10. Open the docker-compose.yml file using a text editor. For instance:
54
55
<pre>
56
sudo nano docker-compose.yml
57
</pre>
58
59
Add the following... if you want to make Bitwarden accessible at IP address 192.168.1.69, modify the ports configuration for the 
60
61
<pre>
62
version: '3.7'
63
64
services:
65
  setup:
66
    image: bitwarden/setup:latest
67
    # Rest of the service configuration
68
69
  bitwarden:
70
    image: bitwardenrs/server:latest
71
    container_name: bitwarden
72
    ports:
73
      - 0.0.0.0:80:80
74
    # Other configuration options for the Bitwarden service
75
    environment:
76
      - SIGNUPS_ALLOWED=true
77 2 Gareth Eaton
      - DOMAIN=https://bitwarden.*******.com
78 1 Gareth Eaton
      - SMTP_HOST=smtp.gmail.com
79
      - SMTP_PORT=587
80
      - SMTP_FROM=your-email@example.com
81
      - SMTP_FROM_NAME=Bitwarden
82
      - SMTP_SSL=true
83
      - SMTP_USERNAME=your-smtp-username@example.com
84
      - SMTP_PASSWORD=your-smtp-password
85
      - SMTP_AUTH=true
86
    volumes:
87
      - /opt/bitwarden_data:/data   # Data on host:/data in container
88
89
# Other configuration options for the Bitwarden service
90
91
92
93
</pre>
94
95
96
if you get this error, [[In file docker-compose.yml service 'environment' must be a mapping not an array]]
97
98
99
100
101
11. Save and close the Docker Compose file.
102
103
12. Start the Bitwarden containers using Docker Compose:
104
105
Swich to the docker folder
106
107
<pre>
108
cd /opt/bitwarden
109
</pre>
110
111
<pre>
112
   sudo docker-compose up -d
113
</pre>
114
115
13. Wait for the containers to start and initialize. You can check the status by running:
116
117
<pre>
118
   sudo docker-compose ps
119
 </pre>
120
121
14. Once the containers are up and running, you should be able to access Bitwarden by visiting the IP address or domain name of your Proxmox server in a web browser. Make sure to use HTTPS for secure access.
122
123
That's it! You have successfully installed Bitwarden on your Proxmox server. Remember to configure any necessary firewall rules to allow external access to the Bitwarden service, and consider setting up SSL/TLS certificates for secure communication.
124
125
---
126
127
By default, the Bitwarden containers will not start automatically after a server reboot. However, you can configure them to start automatically on server boot by using systemd services.
128
129
Here's a step-by-step guide to setting up systemd services for Bitwarden:
130
131
Create a systemd service unit file for Bitwarden. Open a new file with a .service extension using a text editor, such as bitwarden.service:
132
133
134
<pre>
135
sudo nano /etc/systemd/system/bitwarden.service
136
</pre>
137
138
Add the following content to the bitwarden.service file. Make sure to adjust the paths based on your specific configuration:
139
140
<pre>
141
142
[Unit]
143
Description=Bitwarden Service
144
After=network.target
145
146
[Service]
147
Type=simple
148
ExecStart=/usr/bin/docker-compose -f /opt/bitwarden/docker-compose.yml up
149
WorkingDirectory=/opt/bitwarden
150
User=root
151
Restart=always
152
153
[Install]
154
WantedBy=multi-user.target
155
</pre>
156
157
Save the changes and exit the text editor.
158
159
Enable the systemd service to start on boot:
160
161
<pre>
162
163
sudo systemctl enable bitwarden.service
164
</pre>
165
166
Start the Bitwarden systemd service:
167
168
169
<pre>
170
sudo systemctl start bitwarden.service
171
</pre>
172
173
With these steps, the Bitwarden containers should now start automatically when the server reboots. The systemd service will ensure that the docker-compose up command is executed with the appropriate configuration.
174
175
You can use the following commands to manage the Bitwarden systemd service:
176
177
Start the service: sudo systemctl start bitwarden.service
178
179
Stop the service: sudo systemctl stop bitwarden.service
180
181
Restart the service: sudo systemctl restart bitwarden.service
182
183
Check the status of the service: sudo systemctl status bitwarden.service
184
185
Remember to adjust the paths and configurations in the bitwarden.service file to match your specific setup.
186
187
After configuring the systemd service, you can test it by rebooting the server and verifying that Bitwarden starts automatically.