Skip to content

geniusdynamics/ns8-pastevault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—‚οΈ PasteVault - Secure Text Sharing for NethServer 8

License NethServer 8 Docker

PasteVault is a secure, self-hosted pastebin service for NethServer 8 that allows you to share text snippets, code, and documents with customizable expiration times and access controls.

✨ Features

  • πŸ”’ Secure Sharing - Host your own pastebin with full control over data
  • ⏰ Expiration Control - Set custom expiration times for pastes
  • 🌐 Web Interface - Clean, modern web UI for easy management
  • πŸ”§ NethServer Integration - Seamless integration with NS8 ecosystem
  • πŸ›‘οΈ SSL/TLS Support - Automatic HTTPS with Let's Encrypt certificates
  • πŸ“Š Admin Dashboard - Monitor and manage your paste vault
  • 🌍 Multi-language - Support for multiple languages via Weblate
  • πŸ’Ύ Backup & Restore - Built-in backup capabilities

πŸš€ Quick Start

Installation

Add the PasteVault module to your NethServer 8 cluster:

add-module ghcr.io/geniusdynamics/pastevault:latest 1

Expected Output:

{
  "module_id": "pastevault1",
  "image_name": "pastevault",
  "image_url": "ghcr.io/geniusdynamics/pastevault:latest"
}

Configuration

Configure your PasteVault instance (replace pastevault1 with your instance name):

api-cli run configure-module --agent module/pastevault1 --data - <<EOF
{
  "host": "pastevault.yourdomain.com",
  "http2https": true,
  "lets_encrypt": true
}
EOF

Configuration Options:

  • host: Your fully qualified domain name
  • http2https: Enable HTTPS redirection (recommended: true)
  • lets_encrypt: Request Let's Encrypt SSL certificate (recommended: true)

Access Your PasteVault

Once configured, access your PasteVault at: https://pastevault.yourdomain.com

πŸ“– Table of Contents

πŸ”§ Management

Get Current Configuration

api-cli run get-configuration --agent module/pastevault1

Update Module

api-cli run update-module --data '{
  "module_url": "ghcr.io/geniusdynamics/pastevault:latest",
  "instances": ["pastevault1"],
  "force": true
}'

Uninstall

remove-module --no-preserve pastevault1

πŸ” Debugging

Environment Variables

Check module environment variables:

runagent -m pastevault1 env

Access Module Environment

Become the module agent for debugging:

runagent -m pastevault1

Container Inspection

List running containers:

runagent -m pastevault1
podman ps

Inspect container environment:

podman exec pastevault-app env

Access container shell:

podman exec -ti pastevault-app sh

πŸ§ͺ Testing

Run the test suite using Robot Framework:

./test-module.sh <NODE_ADDR> ghcr.io/geniusdynamics/pastevault:latest

🌐 Smarthost Integration

PasteVault automatically discovers and integrates with your centralized smarthost setup:

  • Auto-discovery: The bin/discover-smarthost script keeps settings synchronized
  • Event-driven updates: Changes to smarthost configuration automatically restart services
  • Redis integration: Settings are stored and retrieved from Redis keys

🎨 UI & Translations

Supported Languages

PasteVault supports multiple languages through Weblate:

  • English (en)
  • Spanish (es)
  • Italian (it)
  • Basque (eu)
  • Portuguese (pt)
  • Portuguese (Brazil) (pt_BR)
  • German (de)

Translation Setup

  1. Add GitHub Weblate app to your repository
  2. Add your repository to hosted.weblate.org or contact a NethServer developer

πŸ“„ License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.

πŸ“ž Support


Built with ❀️ for the NethServer 8 ecosystem

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •