Project

General

Profile

Wiki » History » Version 6

Gareth Eaton, 07/15/2023 11:25 AM

1 1 Gareth Eaton
h1. Wiki
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 2 Gareth Eaton
13 1 Gareth Eaton
<pre>
14 6 Gareth Eaton
sudo apt update && sudo apt upgrade -y
15 2 Gareth Eaton
</pre>
16 1 Gareth Eaton
17
4. Install the required dependencies. Bitwarden requires Docker and Docker Compose. Install them using the following commands:
18
19
<pre>
20 6 Gareth Eaton
sudo apt install docker.io -y && sudo apt install docker-compose -y
21 1 Gareth Eaton
</pre>
22
23
5. Start the Docker service:
24 2 Gareth Eaton
25 1 Gareth Eaton
<pre>
26 3 Gareth Eaton
sudo systemctl start docker
27 1 Gareth Eaton
</pre>
28
29
6. Create a directory to store the Bitwarden configuration and data:
30
31
<pre>
32 3 Gareth Eaton
sudo mkdir /opt/bitwarden
33 1 Gareth Eaton
</pre>
34
35
7. Change the ownership of the directory to the user running Docker:
36
37
<pre>
38 3 Gareth Eaton
sudo chown 1000:1000 /opt/bitwarden
39 1 Gareth Eaton
</pre>
40
41
8. Navigate to the Bitwarden directory:
42
43
<pre>
44 3 Gareth Eaton
cd /opt/bitwarden
45 1 Gareth Eaton
</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
services:
63
  '404':
64
    image: bitwarden/setup:latest
65
    # Rest of the service configuration
66
67
  bitwarden:
68
    image: bitwardenrs/server:latest
69
    container_name: bitwarden
70
    ports:
71 5 Gareth Eaton
      - 0.0.0.0:80:80
72 1 Gareth Eaton
    # Other configuration options for the Bitwarden service
73 5 Gareth Eaton
environment:
74
  - SIGNUPS_ALLOWED=true
75
  - DOMAIN=<your-domain>
76
  - SMTP_HOST=smtp.gmail.com
77
  - SMTP_PORT=587
78
  - SMTP_FROM=<your-email>
79
  - SMTP_FROM_NAME=Bitwarden
80
  - SMTP_SSL=true
81
  - SMTP_USERNAME=<your-smtp-username>
82
  - SMTP_PASSWORD=<your-smtp-password>
83
  - SMTP_AUTH=true
84
# Other configuration options for the Bitwarden service
85 1 Gareth Eaton
86
</pre>
87
88
89
90
91
11. Save and close the Docker Compose file.
92
93
12. Start the Bitwarden containers using Docker Compose:
94
95
Swich to the docker folder
96
97
<pre>
98
cd /opt/bitwarden
99
</pre>
100
101
<pre>
102
   sudo docker-compose up -d
103
</pre>
104
105
13. Wait for the containers to start and initialize. You can check the status by running:
106
107
<pre>
108
   sudo docker-compose ps
109
 </pre>
110
111
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.
112
113
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.
114
115
---
116
117
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.
118
119
Here's a step-by-step guide to setting up systemd services for Bitwarden:
120
121
Create a systemd service unit file for Bitwarden. Open a new file with a .service extension using a text editor, such as bitwarden.service:
122
123
124
<pre>
125
sudo nano /etc/systemd/system/bitwarden.service
126
</pre>
127
128
Add the following content to the bitwarden.service file. Make sure to adjust the paths based on your specific configuration:
129
130
<pre>
131
132
[Unit]
133
Description=Bitwarden Service
134
After=network.target
135
136
[Service]
137
Type=simple
138
ExecStart=/usr/bin/docker-compose -f /opt/bitwarden/docker-compose.yml up
139
WorkingDirectory=/opt/bitwarden
140
User=root
141
Restart=always
142
143
[Install]
144
WantedBy=multi-user.target
145
</pre>
146
147
Save the changes and exit the text editor.
148
149
Enable the systemd service to start on boot:
150
151
<pre>
152
153
sudo systemctl enable bitwarden.service
154
</pre>
155
156
Start the Bitwarden systemd service:
157
158
159
<pre>
160
sudo systemctl start bitwarden.service
161
</pre>
162
163
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.
164
165
You can use the following commands to manage the Bitwarden systemd service:
166
167
Start the service: sudo systemctl start bitwarden.service
168
169
Stop the service: sudo systemctl stop bitwarden.service
170
171
Restart the service: sudo systemctl restart bitwarden.service
172
173
Check the status of the service: sudo systemctl status bitwarden.service
174
175
Remember to adjust the paths and configurations in the bitwarden.service file to match your specific setup.
176
177
After configuring the systemd service, you can test it by rebooting the server and verifying that Bitwarden starts automatically.