Compare commits
No commits in common. "19db0708bbb11af5e67f1e993472ca08e00b94f2" and "cc22fe1b7641c3ad1ac3e2ecad8e8223c0871675" have entirely different histories.
19db0708bb
...
cc22fe1b76
2
.gitignore
vendored
2
.gitignore
vendored
@ -42,7 +42,5 @@ convertx-data/*
|
|||||||
answer-data/*
|
answer-data/*
|
||||||
!answer-data/.gitkeep
|
!answer-data/.gitkeep
|
||||||
|
|
||||||
# vw-data
|
|
||||||
vw-data/*
|
|
||||||
|
|
||||||
.vscode
|
.vscode
|
||||||
|
|||||||
@ -77,9 +77,12 @@ cd changemaker
|
|||||||
|
|
||||||
For local development, cloudflare credentials can be ignored.
|
For local development, cloudflare credentials can be ignored.
|
||||||
|
|
||||||
See [Setting Up Cloudflare Credentials](#setting-up-cloudflare-credentials) for how to get cloudflare credentials for config.sh. For local development, cloudflare credentials can be ignored.
|
See [Setting Up Cloudflare Credentials](#setting-up-cloudflare-credentials) for how to get cloudflare credentials for config.sh.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
chmod +x config.sh
|
||||||
|
|
||||||
|
# Then run the configuration script. You will need your Cloudflare details.
|
||||||
./config.sh
|
./config.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -129,7 +132,6 @@ When running Changemaker locally, you can access the services at the following p
|
|||||||
| n8n | 5678 | [http://localhost:5678](http://localhost:5678) |
|
| n8n | 5678 | [http://localhost:5678](http://localhost:5678) |
|
||||||
| ConvertX | 3100 | [http://localhost:3100](http://localhost:3100) |
|
| ConvertX | 3100 | [http://localhost:3100](http://localhost:3100) |
|
||||||
| Rocket.Chat | 3004 | [http://localhost:3004](http://localhost:3004) |
|
| Rocket.Chat | 3004 | [http://localhost:3004](http://localhost:3004) |
|
||||||
| Vaultwarden | 8200 | [http://localhost:8200](http://localhost:8200) |
|
|
||||||
|
|
||||||
### Ubuntu OS & Build Outs
|
### Ubuntu OS & Build Outs
|
||||||
|
|
||||||
@ -323,7 +325,6 @@ After installation and cloudflare deployment you can also access individual serv
|
|||||||
- n8n: https://n8n.yourdomain.com
|
- n8n: https://n8n.yourdomain.com
|
||||||
- ConvertX: https://convertx.yourdomain.com
|
- ConvertX: https://convertx.yourdomain.com
|
||||||
- Rocket.Chat: https://rocket.yourdomain.com
|
- Rocket.Chat: https://rocket.yourdomain.com
|
||||||
- Vaultwarden: https://vw.yourdomain.com
|
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
|
|||||||
@ -72,7 +72,6 @@ SUBDOMAINS=(
|
|||||||
"convertx"
|
"convertx"
|
||||||
"rocket"
|
"rocket"
|
||||||
"live"
|
"live"
|
||||||
"vw"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# First, remove existing DNS records for these subdomains
|
# First, remove existing DNS records for these subdomains
|
||||||
@ -152,64 +151,6 @@ echo "Creating Cloudflare Access applications..."
|
|||||||
# Create access applications only for specific services
|
# Create access applications only for specific services
|
||||||
PROTECTED_SERVICES=("homepage" "live" "ferdium" "convertx" "mini-qr" "ollama")
|
PROTECTED_SERVICES=("homepage" "live" "ferdium" "convertx" "mini-qr" "ollama")
|
||||||
|
|
||||||
# Services that should have bypass policies (no authentication)
|
|
||||||
BYPASS_SERVICES=("excalidraw" "rocket" "listmonk" "vw" "docs")
|
|
||||||
|
|
||||||
# Function to create bypass policy for a service
|
|
||||||
create_bypass_policy() {
|
|
||||||
local service=$1
|
|
||||||
echo "Creating access application for $service.$CF_DOMAIN with bypass policy..."
|
|
||||||
|
|
||||||
SERVICE_APP_RESPONSE=$(curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/access/apps" \
|
|
||||||
-H "Authorization: Bearer $CF_API_TOKEN" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
--data "{
|
|
||||||
\"name\": \"$service $CF_DOMAIN\",
|
|
||||||
\"domain\": \"$service.$CF_DOMAIN\",
|
|
||||||
\"type\": \"self_hosted\",
|
|
||||||
\"session_duration\": \"24h\",
|
|
||||||
\"app_launcher_visible\": true,
|
|
||||||
\"skip_interstitial\": true
|
|
||||||
}")
|
|
||||||
|
|
||||||
# Extract the application ID from the response
|
|
||||||
SERVICE_APP_ID=$(echo $SERVICE_APP_RESPONSE | jq -r '.result.id')
|
|
||||||
|
|
||||||
if [ -z "$SERVICE_APP_ID" ] || [ "$SERVICE_APP_ID" == "null" ]; then
|
|
||||||
echo "Error creating $service access application. Response: $SERVICE_APP_RESPONSE"
|
|
||||||
else
|
|
||||||
echo "Successfully created $service access application with ID: $SERVICE_APP_ID"
|
|
||||||
|
|
||||||
# Create bypass policy for everyone
|
|
||||||
echo "Creating bypass policy for $service application..."
|
|
||||||
|
|
||||||
POLICY_RESPONSE=$(curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/access/apps/$SERVICE_APP_ID/policies" \
|
|
||||||
-H "Authorization: Bearer $CF_API_TOKEN" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
--data "{
|
|
||||||
\"name\": \"Bypass for Everyone\",
|
|
||||||
\"decision\": \"bypass\",
|
|
||||||
\"include\": [{
|
|
||||||
\"everyone\": {}
|
|
||||||
}],
|
|
||||||
\"require\": [],
|
|
||||||
\"exclude\": []
|
|
||||||
}")
|
|
||||||
|
|
||||||
# Check if policy creation was successful
|
|
||||||
POLICY_SUCCESS=$(echo $POLICY_RESPONSE | jq -r '.success')
|
|
||||||
|
|
||||||
if [ "$POLICY_SUCCESS" == "true" ]; then
|
|
||||||
POLICY_ID=$(echo $POLICY_RESPONSE | jq -r '.result.id')
|
|
||||||
echo "Bypass policy for $service created successfully with ID: $POLICY_ID"
|
|
||||||
else
|
|
||||||
ERROR_MSG=$(echo $POLICY_RESPONSE | jq -r '.errors[0].message')
|
|
||||||
echo "Error creating bypass policy for $service: $ERROR_MSG"
|
|
||||||
echo "Full response: $POLICY_RESPONSE"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
for service in "${PROTECTED_SERVICES[@]}"; do
|
for service in "${PROTECTED_SERVICES[@]}"; do
|
||||||
echo "Creating access application for $service.$CF_DOMAIN..."
|
echo "Creating access application for $service.$CF_DOMAIN..."
|
||||||
|
|
||||||
@ -267,11 +208,6 @@ for service in "${PROTECTED_SERVICES[@]}"; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Create bypass policies for specified services
|
|
||||||
for service in "${BYPASS_SERVICES[@]}"; do
|
|
||||||
create_bypass_policy "$service"
|
|
||||||
done
|
|
||||||
|
|
||||||
# 2. Create specific access application for Gitea
|
# 2. Create specific access application for Gitea
|
||||||
echo "Creating access application for gitea.$CF_DOMAIN..."
|
echo "Creating access application for gitea.$CF_DOMAIN..."
|
||||||
GITEA_APP_RESPONSE=$(curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/access/apps" \
|
GITEA_APP_RESPONSE=$(curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/access/apps" \
|
||||||
|
|||||||
45
config.sh
45
config.sh
@ -295,12 +295,6 @@ ROCKETCHAT_MONGODB_REPLICA_SET=rs0
|
|||||||
ROCKETCHAT_MONGODB_ENABLE_JOURNAL=true
|
ROCKETCHAT_MONGODB_ENABLE_JOURNAL=true
|
||||||
ROCKETCHAT_MONGODB_ALLOW_EMPTY_PASSWORD=yes
|
ROCKETCHAT_MONGODB_ALLOW_EMPTY_PASSWORD=yes
|
||||||
|
|
||||||
# Vaultwarden Configuration
|
|
||||||
VAULTWARDEN_PORT=8200
|
|
||||||
VAULTWARDEN_DOMAIN=https://vw.changeme.org
|
|
||||||
VAULTWARDEN_SIGNUPS_ALLOWED=false
|
|
||||||
VAULTWARDEN_ADMIN_TOKEN=$(generate_password 48)
|
|
||||||
|
|
||||||
# Additional Configuration
|
# Additional Configuration
|
||||||
EOL
|
EOL
|
||||||
|
|
||||||
@ -628,39 +622,6 @@ update_env_var "CF_DOMAIN" "$domain_name"
|
|||||||
|
|
||||||
echo "Cloudflare credentials have been updated."
|
echo "Cloudflare credentials have been updated."
|
||||||
|
|
||||||
# Vaultwarden Configuration
|
|
||||||
echo -e "\n---- Vaultwarden Configuration ----"
|
|
||||||
read -p "Enter Vaultwarden domain URL [default: https://vw.$domain_name]: " vaultwarden_domain
|
|
||||||
read -p "Enter Vaultwarden port [default: 8200]: " vaultwarden_port
|
|
||||||
read -p "Allow new user signups? [y/N]: " vaultwarden_signups
|
|
||||||
|
|
||||||
if [ -z "$vaultwarden_domain" ]; then
|
|
||||||
echo "Using default Vaultwarden domain: https://vw.$domain_name"
|
|
||||||
vaultwarden_domain="https://vw.$domain_name"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$vaultwarden_port" ]; then
|
|
||||||
echo "Using default Vaultwarden port: 8200"
|
|
||||||
vaultwarden_port="8200"
|
|
||||||
fi
|
|
||||||
|
|
||||||
vaultwarden_signups_allowed="false"
|
|
||||||
if [[ "$vaultwarden_signups" =~ ^[Yy]$ ]]; then
|
|
||||||
echo "Enabling user signups for Vaultwarden"
|
|
||||||
vaultwarden_signups_allowed="true"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Generate a secure admin token
|
|
||||||
vaultwarden_admin_token=$(generate_password 48)
|
|
||||||
|
|
||||||
# Update Vaultwarden settings
|
|
||||||
update_env_var "VAULTWARDEN_PORT" "$vaultwarden_port"
|
|
||||||
update_env_var "VAULTWARDEN_DOMAIN" "$vaultwarden_domain"
|
|
||||||
update_env_var "VAULTWARDEN_SIGNUPS_ALLOWED" "$vaultwarden_signups_allowed"
|
|
||||||
update_env_var "VAULTWARDEN_ADMIN_TOKEN" "$vaultwarden_admin_token"
|
|
||||||
|
|
||||||
echo "Vaultwarden configuration updated."
|
|
||||||
|
|
||||||
echo -e "\n---- Generating Random Strong Passwords ----"
|
echo -e "\n---- Generating Random Strong Passwords ----"
|
||||||
echo "Generating and updating passwords for all other services..."
|
echo "Generating and updating passwords for all other services..."
|
||||||
|
|
||||||
@ -797,13 +758,9 @@ EOL
|
|||||||
grep -E "^ROCKETCHAT_" "$temp_env" >> "$ENV_FILE.new"
|
grep -E "^ROCKETCHAT_" "$temp_env" >> "$ENV_FILE.new"
|
||||||
echo "" >> "$ENV_FILE.new"
|
echo "" >> "$ENV_FILE.new"
|
||||||
|
|
||||||
echo "# Vaultwarden Configuration" >> "$ENV_FILE.new"
|
|
||||||
grep -E "^VAULTWARDEN_" "$temp_env" >> "$ENV_FILE.new"
|
|
||||||
echo "" >> "$ENV_FILE.new"
|
|
||||||
|
|
||||||
# Any variables that didn't fit in the above categories
|
# Any variables that didn't fit in the above categories
|
||||||
echo "# Additional Configuration" >> "$ENV_FILE.new"
|
echo "# Additional Configuration" >> "$ENV_FILE.new"
|
||||||
grep -v -E "^DOMAIN=|^BASE_DOMAIN=|^LISTMONK_|^POSTGRES_|^MONICA_|^USER_ID=|^GROUP_ID=|^MKDOCS_|^FLATNOTES_|^GITEA_|^ANSWER_|^EXCALIDRAW_|^CODE_SERVER_|^USER_NAME=|^CF_|^NOCODB_|^OPEN_WEBUI_|^N8N_|^GENERIC_TIMEZONE=|^CONVERTX_|^ROCKETCHAT_|^VAULTWARDEN_" "$temp_env" >> "$ENV_FILE.new"
|
grep -v -E "^DOMAIN=|^BASE_DOMAIN=|^LISTMONK_|^POSTGRES_|^MONICA_|^USER_ID=|^GROUP_ID=|^MKDOCS_|^FLATNOTES_|^GITEA_|^ANSWER_|^EXCALIDRAW_|^CODE_SERVER_|^USER_NAME=|^CF_|^NOCODB_|^OPEN_WEBUI_|^N8N_|^GENERIC_TIMEZONE=|^CONVERTX_|^ROCKETCHAT_" "$temp_env" >> "$ENV_FILE.new"
|
||||||
|
|
||||||
# Replace the current .env with the new one
|
# Replace the current .env with the new one
|
||||||
mv "$ENV_FILE.new" "$ENV_FILE"
|
mv "$ENV_FILE.new" "$ENV_FILE"
|
||||||
|
|||||||
@ -63,8 +63,3 @@
|
|||||||
- Github:
|
- Github:
|
||||||
- abbr: GH
|
- abbr: GH
|
||||||
href: https://github.com/
|
href: https://github.com/
|
||||||
|
|
||||||
- Security & Management:
|
|
||||||
- Vaultwarden:
|
|
||||||
- abbr: VW
|
|
||||||
href: https://github.com/dani-garcia/vaultwarden
|
|
||||||
|
|||||||
@ -77,9 +77,3 @@
|
|||||||
href: http://localhost:5678
|
href: http://localhost:5678
|
||||||
description: Workflow automation
|
description: Workflow automation
|
||||||
icon: n8n
|
icon: n8n
|
||||||
|
|
||||||
- Security & Management:
|
|
||||||
- Vaultwarden:
|
|
||||||
href: http://localhost:8200
|
|
||||||
description: Self-hosted password manager
|
|
||||||
icon: mdi-shield-key
|
|
||||||
|
|||||||
@ -63,8 +63,3 @@
|
|||||||
- Github:
|
- Github:
|
||||||
- abbr: GH
|
- abbr: GH
|
||||||
href: https://github.com/
|
href: https://github.com/
|
||||||
|
|
||||||
- Security & Management:
|
|
||||||
- Vaultwarden:
|
|
||||||
- abbr: VW
|
|
||||||
href: https://github.com/dani-garcia/vaultwarden
|
|
||||||
|
|||||||
@ -75,9 +75,3 @@
|
|||||||
href: https://n8n.test.com
|
href: https://n8n.test.com
|
||||||
description: Workflow automation
|
description: Workflow automation
|
||||||
icon: n8n
|
icon: n8n
|
||||||
|
|
||||||
- Security & Management:
|
|
||||||
- Vaultwarden:
|
|
||||||
href: https://vw.test.com
|
|
||||||
description: Self-hosted password manager
|
|
||||||
icon: mdi-shield-key
|
|
||||||
|
|||||||
@ -160,23 +160,6 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ./assets/uploads:/listmonk/uploads:rw
|
- ./assets/uploads:/listmonk/uploads:rw
|
||||||
|
|
||||||
# Vaultwarden - Password Manager
|
|
||||||
vaultwarden:
|
|
||||||
image: vaultwarden/server:latest
|
|
||||||
container_name: vaultwarden-changemaker
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
- DOMAIN=${VAULTWARDEN_DOMAIN:-https://vw.${DOMAIN}}
|
|
||||||
- WEBSOCKET_ENABLED=true
|
|
||||||
- SIGNUPS_ALLOWED=${VAULTWARDEN_SIGNUPS_ALLOWED:-false}
|
|
||||||
- ADMIN_TOKEN=${VAULTWARDEN_ADMIN_TOKEN:-}
|
|
||||||
volumes:
|
|
||||||
- ./vw-data/:/data/
|
|
||||||
ports:
|
|
||||||
- "${VAULTWARDEN_PORT:-8200}:80"
|
|
||||||
networks:
|
|
||||||
- changemaker
|
|
||||||
|
|
||||||
# Postgres database
|
# Postgres database
|
||||||
listmonk-db:
|
listmonk-db:
|
||||||
image: postgres:17-alpine
|
image: postgres:17-alpine
|
||||||
|
|||||||
@ -32,9 +32,6 @@ ingress:
|
|||||||
- hostname: open-webui.betteredmonton.org
|
- hostname: open-webui.betteredmonton.org
|
||||||
service: http://localhost:3005
|
service: http://localhost:3005
|
||||||
|
|
||||||
- hostname: vw.betteredmonton.org
|
|
||||||
service: http://localhost:8200
|
|
||||||
|
|
||||||
- hostname: gitea.betteredmonton.org
|
- hostname: gitea.betteredmonton.org
|
||||||
service: http://localhost:3030
|
service: http://localhost:3030
|
||||||
|
|
||||||
|
|||||||
@ -88,14 +88,6 @@ This document provides an overview of all the applications and services included
|
|||||||
- **Local Access**: http://localhost:3004/
|
- **Local Access**: http://localhost:3004/
|
||||||
- **Details**: Rocket.Chat provides a complete communication platform for your team or community. Features include real-time chat, channels, direct messaging, file sharing, video calls, and integrations with other services. It's perfect for creating private discussion spaces, coordinating campaigns, or building community engagement. Unlike commercial platforms, you maintain full data sovereignty and control over user privacy.
|
- **Details**: Rocket.Chat provides a complete communication platform for your team or community. Features include real-time chat, channels, direct messaging, file sharing, video calls, and integrations with other services. It's perfect for creating private discussion spaces, coordinating campaigns, or building community engagement. Unlike commercial platforms, you maintain full data sovereignty and control over user privacy.
|
||||||
|
|
||||||
## Security & Management
|
|
||||||
|
|
||||||
### Vaultwarden
|
|
||||||
- **Description**: Self-hosted password manager (Bitwarden API compatible)
|
|
||||||
- **Documentation**: [Vaultwarden Docs](https://github.com/dani-garcia/vaultwarden/wiki)
|
|
||||||
- **Local Access**: http://localhost:8200/
|
|
||||||
- **Details**: Vaultwarden provides a secure, self-hosted solution for storing and managing passwords, notes, credit cards, and other sensitive information across all your devices. Compatible with all official Bitwarden clients, it features strong encryption, two-factor authentication, and secure sharing capabilities while maintaining complete control over your data. Perfect for teams needing to securely manage and share access credentials or individuals seeking privacy-focused password management.
|
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
### Ollama
|
### Ollama
|
||||||
@ -150,4 +142,3 @@ When configured with Cloudflare Tunnels, you can access these services remotely
|
|||||||
- n8n: https://n8n.yourdomain.com
|
- n8n: https://n8n.yourdomain.com
|
||||||
- ConvertX: https://convertx.yourdomain.com
|
- ConvertX: https://convertx.yourdomain.com
|
||||||
- Rocket.Chat: https://rocket.yourdomain.com
|
- Rocket.Chat: https://rocket.yourdomain.com
|
||||||
- Vaultwarden: https://vw.yourdomain.com
|
|
||||||
|
|||||||
@ -1,80 +0,0 @@
|
|||||||
# Vaultwarden: Self-Hosted Password Manager
|
|
||||||
|
|
||||||
Vaultwarden is an unofficial, lightweight Bitwarden server implementation written in Rust. It provides a secure, self-hosted solution for storing and managing passwords, notes, credit cards, and other sensitive information across all your devices.
|
|
||||||
|
|
||||||
## Key Features
|
|
||||||
|
|
||||||
* **Cross-Platform Compatibility**: Works with all official Bitwarden clients (mobile, desktop, browser extensions)
|
|
||||||
* **Password Generator**: Create strong, unique passwords for each service
|
|
||||||
* **Secure Notes & Cards**: Store sensitive information beyond just passwords
|
|
||||||
* **Vault Health Reports**: Identify weak, reused, or compromised passwords
|
|
||||||
* **Two-Factor Authentication**: Add an extra layer of security to your vault
|
|
||||||
* **End-to-End Encryption**: Your data is encrypted on your device before being sent to the server
|
|
||||||
* **Self-Hosted**: Complete control over your data with no third-party involvement
|
|
||||||
* **Organization Support**: Share selected passwords with family members or team members
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
For comprehensive documentation about Vaultwarden, visit the [official GitHub repository](https://github.com/dani-garcia/vaultwarden).
|
|
||||||
|
|
||||||
## Getting Started with Vaultwarden
|
|
||||||
|
|
||||||
### Accessing Vaultwarden
|
|
||||||
1. **URL**: Access Vaultwarden locally via `http://localhost:8200/` (or your configured external URL).
|
|
||||||
2. **First Use**: On first access, you'll need to create a master account. This will be your main admin account.
|
|
||||||
|
|
||||||
### Basic Usage
|
|
||||||
|
|
||||||
1. **Creating Your Account**:
|
|
||||||
* Visit your Vaultwarden instance and click "Create Account"
|
|
||||||
* Set up a strong master password (this is your encryption key - if you forget it, your data cannot be recovered)
|
|
||||||
* Consider setting up email verification if you've configured SMTP
|
|
||||||
|
|
||||||
2. **Installing Clients**:
|
|
||||||
* Download the Bitwarden client for your devices (mobile, desktop, browser extensions)
|
|
||||||
* When configuring the client, select "Self-hosted" and enter your Vaultwarden server URL
|
|
||||||
|
|
||||||
3. **Adding Passwords**:
|
|
||||||
* Use the "+" button to add new entries to your vault
|
|
||||||
* Create separate items for logins, secure notes, cards, or identities
|
|
||||||
* Use the password generator to create strong, unique passwords
|
|
||||||
|
|
||||||
4. **Organizing Your Vault**:
|
|
||||||
* Create folders to organize your entries
|
|
||||||
* Use custom fields for additional information
|
|
||||||
* Add attachments when needed
|
|
||||||
|
|
||||||
5. **Administrative Tasks** (with Admin Token):
|
|
||||||
* Access the admin panel at `/admin` with your configured admin token
|
|
||||||
* Manage users, organizations, and server settings
|
|
||||||
* Monitor usage statistics and perform database backups
|
|
||||||
|
|
||||||
## Use Cases within Changemaker
|
|
||||||
|
|
||||||
* **Team Password Management**: Securely share access credentials among campaign team members.
|
|
||||||
* **Secure Credential Storage**: Store API keys, tokens, and other sensitive information needed for integrations.
|
|
||||||
* **Enhance Security Posture**: Encourage strong, unique passwords for all campaign services and tools.
|
|
||||||
* **Campaign Continuity**: Ensure critical access information is safely stored and available to authorized team members.
|
|
||||||
* **Volunteer Management**: Temporarily share limited access to certain resources with volunteers.
|
|
||||||
|
|
||||||
## Administration
|
|
||||||
|
|
||||||
Vaultwarden includes an admin panel that can be accessed at `/admin` from your instance. This requires the admin token that was generated during setup. The admin panel allows you to:
|
|
||||||
|
|
||||||
* Manage user accounts
|
|
||||||
* Configure server settings
|
|
||||||
* Control user invitations and registrations
|
|
||||||
* Monitor system usage
|
|
||||||
* Perform database operations
|
|
||||||
|
|
||||||
To enhance security, consider these best practices:
|
|
||||||
* Keep your Vaultwarden instance updated
|
|
||||||
* Enable 2FA for all accounts
|
|
||||||
* Regularly backup your vault data
|
|
||||||
* Review vault access logs periodically
|
|
||||||
|
|
||||||
## Further Information
|
|
||||||
|
|
||||||
* **Vaultwarden GitHub**: [https://github.com/dani-garcia/vaultwarden](https://github.com/dani-garcia/vaultwarden)
|
|
||||||
* **Bitwarden Documentation**: [https://bitwarden.com/help/](https://bitwarden.com/help/)
|
|
||||||
* **Vaultwarden Wiki**: [https://github.com/dani-garcia/vaultwarden/wiki](https://github.com/dani-garcia/vaultwarden/wiki)
|
|
||||||
@ -191,14 +191,6 @@ docker compose up -d</code></pre>
|
|||||||
<a href="{{ 'apps/portainer/' | url }}" class="button">Learn More</a>
|
<a href="{{ 'apps/portainer/' | url }}" class="button">Learn More</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="app-card">
|
|
||||||
<div>
|
|
||||||
<h3><span class="material-icons" style="vertical-align: bottom; margin-right: 8px;">password</span>Vaultwarden</h3>
|
|
||||||
<p>Self-hosted password manager that securely stores and syncs credentials across all devices.</p>
|
|
||||||
</div>
|
|
||||||
<a href="{{ 'apps/vaultwarden/' | url }}" class="button">Learn More</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="app-card">
|
<div class="app-card">
|
||||||
<div>
|
<div>
|
||||||
<h3><span class="material-icons" style="vertical-align: bottom; margin-right: 8px;">forum</span>Rocket.Chat</h3>
|
<h3><span class="material-icons" style="vertical-align: bottom; margin-right: 8px;">forum</span>Rocket.Chat</h3>
|
||||||
|
|||||||
@ -135,7 +135,6 @@ When running Changemaker locally, you can access the services at the following p
|
|||||||
| n8n | 5678 | [http://localhost:5678](http://localhost:5678) |
|
| n8n | 5678 | [http://localhost:5678](http://localhost:5678) |
|
||||||
| ConvertX | 3100 | [http://localhost:3100](http://localhost:3100) |
|
| ConvertX | 3100 | [http://localhost:3100](http://localhost:3100) |
|
||||||
| Rocket.Chat | 3004 | [http://localhost:3004](http://localhost:3004) |
|
| Rocket.Chat | 3004 | [http://localhost:3004](http://localhost:3004) |
|
||||||
| Vaultwarden | 8200 | [http://localhost:8200](http://localhost:8200) |
|
|
||||||
|
|
||||||
### Ubuntu OS & Build Outs
|
### Ubuntu OS & Build Outs
|
||||||
|
|
||||||
@ -347,7 +346,6 @@ After installation and cloudflare deployment you can also access individual serv
|
|||||||
- n8n: https://n8n.yourdomain.com
|
- n8n: https://n8n.yourdomain.com
|
||||||
- ConvertX: https://convertx.yourdomain.com
|
- ConvertX: https://convertx.yourdomain.com
|
||||||
- Rocket.Chat: https://rocket.yourdomain.com
|
- Rocket.Chat: https://rocket.yourdomain.com
|
||||||
- Vaultwarden: https://vw.yourdomain.com
|
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
site_name: Changemaker Documentation
|
site_name: Changemaker Documentation
|
||||||
site_description: Demo site for Changemaker
|
site_description: Demo site for Changemaker
|
||||||
site_url: https://test.com
|
site_url: http://betteredmonton.org
|
||||||
site_author: Bunker Ops
|
site_author: Bunker Ops
|
||||||
docs_dir: docs
|
docs_dir: docs
|
||||||
site_dir: site
|
site_dir: site
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user