chore: rebrand all user-facing strings from RBox to MyWebdav across docs, emails, and config
Replace every occurrence of "RBox" with "MyWebdav" in README.md, invoice templates, welcome emails, share notifications, FastAPI metadata, default database filename, domain name, S3 bucket name, TOTP issuer, and WebDAV realm header to reflect the commercial rebranding of the application.
This commit is contained in:
parent
df964a7fb1
commit
d91246967c
18
README.md
18
README.md
@ -1,6 +1,6 @@
|
||||
# RBox
|
||||
# MyWebdav
|
||||
|
||||
RBox is a self-hosted cloud storage web application designed for secure, scalable file management and sharing. Built with modern web technologies, it provides a comprehensive solution for individuals and organizations seeking full control over their data storage.
|
||||
MyWebdav is a commercial cloud storage web application designed for secure, scalable file management and sharing. Built with modern web technologies, it provides a comprehensive solution for individuals and organizations seeking full control over their data storage.
|
||||
|
||||
## Features
|
||||
|
||||
@ -74,24 +74,24 @@ RBox is a self-hosted cloud storage web application designed for secure, scalabl
|
||||
|
||||
2. Set up the database:
|
||||
```bash
|
||||
createdb rbox
|
||||
createdb mywebdav
|
||||
```
|
||||
|
||||
3. Configure environment variables in `.env`
|
||||
|
||||
4. Run database migrations:
|
||||
```bash
|
||||
poetry run rbox --migrate
|
||||
poetry run mywebdav --migrate
|
||||
```
|
||||
|
||||
5. Start the application:
|
||||
```bash
|
||||
poetry run rbox --host 0.0.0.0 --port 8000
|
||||
poetry run mywebdav --host 0.0.0.0 --port 8000
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
RBox uses environment variables for configuration. Key settings include:
|
||||
MyWebdav uses environment variables for configuration. Key settings include:
|
||||
|
||||
- `DATABASE_URL`: PostgreSQL connection string
|
||||
- `REDIS_URL`: Redis connection URL
|
||||
@ -114,7 +114,7 @@ Access the web application through your browser. The interface provides:
|
||||
- Administrative controls (for admins)
|
||||
|
||||
### API Usage
|
||||
RBox provides a comprehensive REST API. Example requests:
|
||||
MyWebdav provides a comprehensive REST API. Example requests:
|
||||
|
||||
```bash
|
||||
# Upload a file
|
||||
@ -134,13 +134,13 @@ curl -X POST "https://your-domain.com/api/shares/" \
|
||||
```
|
||||
|
||||
### WebDAV Access
|
||||
Mount RBox as a network drive using WebDAV:
|
||||
Mount MyWebdav as a network drive using WebDAV:
|
||||
```
|
||||
https://your-domain.com/webdav/
|
||||
```
|
||||
|
||||
### SFTP Access
|
||||
Connect via SFTP using your RBox credentials on port 22.
|
||||
Connect via SFTP using your MyWebdav credentials on port 22.
|
||||
|
||||
## Deployment
|
||||
|
||||
|
||||
@ -107,7 +107,7 @@ class InvoiceGenerator:
|
||||
|
||||
stripe_invoice = await StripeClient.create_invoice(
|
||||
customer_id=subscription.stripe_customer_id,
|
||||
description=f"RBox Usage Invoice for {period_start.strftime('%B %Y')}",
|
||||
description=f"MyWebdav Usage Invoice for {period_start.strftime('%B %Y')}",
|
||||
line_items=stripe_line_items,
|
||||
metadata={"rbox_invoice_id": str(invoice.id)}
|
||||
)
|
||||
@ -153,7 +153,7 @@ Due Date: {invoice.due_date}
|
||||
You can view and pay your invoice at: {invoice.user.email} # Placeholder, should be a link to invoice page
|
||||
|
||||
Best regards,
|
||||
The RBox Team
|
||||
The MyWebdav Team
|
||||
"""
|
||||
html = f"""
|
||||
<h2>Invoice {invoice.invoice_number}</h2>
|
||||
@ -168,7 +168,7 @@ The RBox Team
|
||||
</table>
|
||||
<p>Due Date: {invoice.due_date}</p>
|
||||
<p>You can view and pay your invoice at: <a href="#">Invoice Link</a></p>
|
||||
<p>Best regards,<br>The RBox Team</p>
|
||||
<p>Best regards,<br>The MyWebdav Team</p>
|
||||
"""
|
||||
queue_email(
|
||||
to_email=invoice.user.email,
|
||||
|
||||
@ -46,8 +46,8 @@ async def lifespan(app: FastAPI):
|
||||
print("Shutting down...")
|
||||
|
||||
app = FastAPI(
|
||||
title="RBox Cloud Storage",
|
||||
description="A self-hosted cloud storage web application",
|
||||
title="MyWebdav Cloud Storage",
|
||||
description="A commercial cloud storage web application",
|
||||
version="0.1.0",
|
||||
lifespan=lifespan
|
||||
)
|
||||
|
||||
@ -65,9 +65,9 @@ async def register_user(user_in: UserCreate):
|
||||
from ..mail import queue_email
|
||||
queue_email(
|
||||
to_email=user.email,
|
||||
subject="Welcome to RBox!",
|
||||
body=f"Hi {user.username},\n\nWelcome to RBox! Your account has been created successfully.\n\nBest regards,\nThe RBox Team",
|
||||
html=f"<h1>Welcome to RBox!</h1><p>Hi {user.username},</p><p>Welcome to RBox! Your account has been created successfully.</p><p>Best regards,<br>The RBox Team</p>"
|
||||
subject="Welcome to MyWebdav!",
|
||||
body=f"Hi {user.username},\n\nWelcome to MyWebdav! Your account has been created successfully.\n\nBest regards,\nThe MyWebdav Team",
|
||||
html=f"<h1>Welcome to MyWebdav!</h1><p>Hi {user.username},</p><p>Welcome to MyWebdav! Your account has been created successfully.</p><p>Best regards,<br>The MyWebdav Team</p>"
|
||||
)
|
||||
|
||||
access_token_expires = timedelta(minutes=30) # Use settings
|
||||
|
||||
@ -73,7 +73,7 @@ Access link: {share_url}{password_text}
|
||||
This link is valid{expiry_text}.
|
||||
|
||||
--
|
||||
RBox File Sharing Service"""
|
||||
MyWebdav File Sharing Service"""
|
||||
|
||||
email_html = f"""
|
||||
<html>
|
||||
@ -85,7 +85,7 @@ RBox File Sharing Service"""
|
||||
{f'<p><strong>Password:</strong> {share_in.password}</p>' if share_in.password else ''}
|
||||
<p><small>This link is valid{expiry_text}.</small></p>
|
||||
<hr>
|
||||
<p><small>RBox File Sharing Service</small></p>
|
||||
<p><small>MyWebdav File Sharing Service</small></p>
|
||||
</body>
|
||||
</html>
|
||||
"""
|
||||
|
||||
@ -5,26 +5,26 @@ from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
class Settings(BaseSettings):
|
||||
model_config = SettingsConfigDict(env_file='.env', extra='ignore')
|
||||
|
||||
DATABASE_URL: str = "sqlite:///app/rbox.db"
|
||||
DATABASE_URL: str = "sqlite:///app/mywebdav.db"
|
||||
REDIS_URL: str = "redis://redis:6379/0"
|
||||
SECRET_KEY: str = "super_secret_key"
|
||||
ALGORITHM: str = "HS256"
|
||||
ACCESS_TOKEN_EXPIRE_MINUTES: int = 30
|
||||
REFRESH_TOKEN_EXPIRE_DAYS: int = 7
|
||||
DOMAIN_NAME: str = "localhost"
|
||||
DOMAIN_NAME: str = "MyWebdav.eu"
|
||||
CERTBOT_EMAIL: str = "admin@example.com"
|
||||
STORAGE_PATH: str = "storage"
|
||||
S3_ACCESS_KEY_ID: str | None = None
|
||||
S3_SECRET_ACCESS_KEY: str | None = None
|
||||
S3_ENDPOINT_URL: str | None = None
|
||||
S3_BUCKET_NAME: str = "rbox-storage"
|
||||
S3_BUCKET_NAME: str = "mywebdav-storage"
|
||||
SMTP_HOST: str = "mail.example.com"
|
||||
SMTP_PORT: int = 587
|
||||
SMTP_USERNAME: str = "noreply@example.com"
|
||||
SMTP_PASSWORD: str = "your-smtp-password"
|
||||
SMTP_USE_TLS: bool = True
|
||||
SMTP_SENDER_EMAIL: str = "noreply@example.com"
|
||||
TOTP_ISSUER: str = "RBox"
|
||||
TOTP_ISSUER: str = "MyWebdav"
|
||||
STRIPE_SECRET_KEY: str = ""
|
||||
STRIPE_PUBLISHABLE_KEY: str = ""
|
||||
STRIPE_WEBHOOK_SECRET: str = ""
|
||||
|
||||
@ -75,7 +75,7 @@ async def webdav_auth(request: Request, authorization: Optional[str] = Header(No
|
||||
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
headers={'WWW-Authenticate': 'Basic realm="RBox WebDAV"'}
|
||||
headers={'WWW-Authenticate': 'Basic realm="MyWebdav WebDAV"'}
|
||||
)
|
||||
|
||||
async def resolve_path(path_str: str, user: User):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user