$ -weight: 600;">sudo -weight: 500;">apt -weight: 500;">update && -weight: 600;">sudo -weight: 500;">apt -weight: 500;">upgrade -y
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">install podman podman-compose -weight: 500;">git -y
mkdir -p ~/vaultwarden/{data,config,ssl}
cd ~/vaultwarden
echo "ADMIN_TOKEN=$(openssl rand -hex 32)" > .env
chmod 600 .env
openssl req -x509 -newkey rsa:4096 -keyout ssl/private.key -out ssl/certificate.crt -days 36500 -nodes -subj "/CN=192.168.1.100"
chmod 600 ssl/private.key
chmod 644 ssl/certificate.crt
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">update && -weight: 600;">sudo -weight: 500;">apt -weight: 500;">upgrade -y
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">install podman podman-compose -weight: 500;">git -y
mkdir -p ~/vaultwarden/{data,config,ssl}
cd ~/vaultwarden
echo "ADMIN_TOKEN=$(openssl rand -hex 32)" > .env
chmod 600 .env
openssl req -x509 -newkey rsa:4096 -keyout ssl/private.key -out ssl/certificate.crt -days 36500 -nodes -subj "/CN=192.168.1.100"
chmod 600 ssl/private.key
chmod 644 ssl/certificate.crt
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">update && -weight: 600;">sudo -weight: 500;">apt -weight: 500;">upgrade -y
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">install podman podman-compose -weight: 500;">git -y
mkdir -p ~/vaultwarden/{data,config,ssl}
cd ~/vaultwarden
echo "ADMIN_TOKEN=$(openssl rand -hex 32)" > .env
chmod 600 .env
openssl req -x509 -newkey rsa:4096 -keyout ssl/private.key -out ssl/certificate.crt -days 36500 -nodes -subj "/CN=192.168.1.100"
chmod 600 ssl/private.key
chmod 644 ssl/certificate.crt
-weight: 600;">sudo ufw allow from 192.168.1.0/24 to any port 8443
-weight: 600;">sudo ufw allow from 192.168.1.0/24 to any port 8443
-weight: 600;">sudo ufw allow from 192.168.1.0/24 to any port 8443
cat > -weight: 500;">docker-compose.yml << 'EOF'
version: '3.8'
services: vaultwarden: image: -weight: 500;">docker.io/vaultwarden/server:latest container_name: vaultwarden -weight: 500;">restart: unless-stopped env_file: - .env environment: WEBSOCKET_ENABLED: 'true' SIGNUPS_ALLOWED: 'true' DOMAIN: 'https://192.168.1.100:8443' ROCKET_TLS: '{certs="/ssl/certificate.crt",key="/ssl/private.key"}' LOG_LEVEL: 'warn' EXTENDED_LOGGING: 'true' volumes: - ./data:/data - ./ssl:/ssl:ro ports: - "8443:80" - "3012:3012"
EOF
cat > -weight: 500;">docker-compose.yml << 'EOF'
version: '3.8'
services: vaultwarden: image: -weight: 500;">docker.io/vaultwarden/server:latest container_name: vaultwarden -weight: 500;">restart: unless-stopped env_file: - .env environment: WEBSOCKET_ENABLED: 'true' SIGNUPS_ALLOWED: 'true' DOMAIN: 'https://192.168.1.100:8443' ROCKET_TLS: '{certs="/ssl/certificate.crt",key="/ssl/private.key"}' LOG_LEVEL: 'warn' EXTENDED_LOGGING: 'true' volumes: - ./data:/data - ./ssl:/ssl:ro ports: - "8443:80" - "3012:3012"
EOF
cat > -weight: 500;">docker-compose.yml << 'EOF'
version: '3.8'
services: vaultwarden: image: -weight: 500;">docker.io/vaultwarden/server:latest container_name: vaultwarden -weight: 500;">restart: unless-stopped env_file: - .env environment: WEBSOCKET_ENABLED: 'true' SIGNUPS_ALLOWED: 'true' DOMAIN: 'https://192.168.1.100:8443' ROCKET_TLS: '{certs="/ssl/certificate.crt",key="/ssl/private.key"}' LOG_LEVEL: 'warn' EXTENDED_LOGGING: 'true' volumes: - ./data:/data - ./ssl:/ssl:ro ports: - "8443:80" - "3012:3012"
EOF
podman-compose up -d
podman ps
podman-compose up -d
podman ps
podman-compose up -d
podman ps
-weight: 500;">systemctl --user -weight: 500;">enable podman.-weight: 500;">service
-weight: 600;">sudo loginctl -weight: 500;">enable-linger $USER podman generate systemd --new --name vaultwarden --files
mkdir -p ~/.config/systemd/user
mv container-vaultwarden.-weight: 500;">service ~/.config/systemd/user/ podman-compose down
-weight: 500;">systemctl --user daemon-reload
-weight: 500;">systemctl --user -weight: 500;">enable container-vaultwarden.-weight: 500;">service
-weight: 500;">systemctl --user -weight: 500;">start container-vaultwarden.-weight: 500;">service -weight: 500;">systemctl --user -weight: 500;">status container-vaultwarden.-weight: 500;">service
podman ps
-weight: 500;">systemctl --user -weight: 500;">enable podman.-weight: 500;">service
-weight: 600;">sudo loginctl -weight: 500;">enable-linger $USER podman generate systemd --new --name vaultwarden --files
mkdir -p ~/.config/systemd/user
mv container-vaultwarden.-weight: 500;">service ~/.config/systemd/user/ podman-compose down
-weight: 500;">systemctl --user daemon-reload
-weight: 500;">systemctl --user -weight: 500;">enable container-vaultwarden.-weight: 500;">service
-weight: 500;">systemctl --user -weight: 500;">start container-vaultwarden.-weight: 500;">service -weight: 500;">systemctl --user -weight: 500;">status container-vaultwarden.-weight: 500;">service
podman ps
-weight: 500;">systemctl --user -weight: 500;">enable podman.-weight: 500;">service
-weight: 600;">sudo loginctl -weight: 500;">enable-linger $USER podman generate systemd --new --name vaultwarden --files
mkdir -p ~/.config/systemd/user
mv container-vaultwarden.-weight: 500;">service ~/.config/systemd/user/ podman-compose down
-weight: 500;">systemctl --user daemon-reload
-weight: 500;">systemctl --user -weight: 500;">enable container-vaultwarden.-weight: 500;">service
-weight: 500;">systemctl --user -weight: 500;">start container-vaultwarden.-weight: 500;">service -weight: 500;">systemctl --user -weight: 500;">status container-vaultwarden.-weight: 500;">service
podman ps - WireGuard VPN, configured to handle local address traffic.
- Linux server (Debian, can be the same machine hosting the WireGuard VPN).
- Basic command line familiarity.