Sign inSign up

ssiroos/securitybox

By ssiroos

•Updated 21 days ago

Secure workspace for users, companies, projects, and encrypted password sharing.

Image
Security
Developer tools
Web servers
2

841

ssiroos/securitybox repository overview

⁠SecurityBox

SecurityBox is a security workspace for managing users, companies, projects, and encrypted password vault entries with role-based and share-based access control.

⁠Features

  • Login with SA, Admin, and User roles.
  • User management for system users.
  • Company management with company admins and company members.
  • Personal password manager with encrypted storage.
  • CSV, XLS, and XLSX password import.
  • Project management with owners, project admins, and project users.
  • Project password sharing with Read or Edit access.
  • MariaDB database backend.
  • Lightweight Alpine-based application image.

⁠Image

docker pull securitybox:latest

If the image is published under your Docker Hub namespace, use:

docker pull <dockerhub-user>/securitybox:0.0.1

⁠Video Tutorial

https://www.youtube.com/watch?v=lJ0P_PJKVgY

⁠Quick Start With Docker Compose

Create a docker-compose.yml file:

services:
  securitybox:
    image: <dockerhub-user>/securitybox:0.0.1
    container_name: securitybox-app
    restart: unless-stopped
    ports:
      - "5285:8080"
    environment:
      ASPNETCORE_ENVIRONMENT: Production
      ASPNETCORE_URLS: http://+:8080
      ConnectionStrings__MariaDb: Server=mariadb;Port=3306;Database=securitybox;User=securitybox;Password=change_this_db_password;Connection Timeout=30;
      SeedSaUser__UserName: sa
      SeedSaUser__DisplayName: System Administrator
      SeedSaUser__Password: change_this_sa_password
      PasswordVault__MasterKey: change-this-password-vault-master-key-before-production
    depends_on:
      mariadb:
        condition: service_healthy

  mariadb:
    image: mariadb:11.4
    container_name: securitybox-mariadb
    restart: unless-stopped
    environment:
      MARIADB_ROOT_PASSWORD: change_this_root_password
      MARIADB_DATABASE: securitybox
      MARIADB_USER: securitybox
      MARIADB_PASSWORD: change_this_db_password
    volumes:
      - mariadb_data:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 10s
      timeout: 5s
      retries: 10
      start_period: 30s

volumes:
  mariadb_data:

Start the stack:

docker compose up -d

Open the app:

http://localhost:5285

⁠Configuration

SecurityBox uses environment variable binding. Use double underscores (__) for nested configuration keys.

VariableRequiredDescription
ASPNETCORE_ENVIRONMENTNoRuntime environment. Use Production for deployment.
ASPNETCORE_URLSNoListen URL inside the container. Default is http://+:8080.
ConnectionStrings__MariaDbYesMariaDB connection string used by the application.
SeedSaUser__UserNameYesInitial super admin username.
SeedSaUser__DisplayNameYesInitial super admin display name.
SeedSaUser__PasswordYesInitial super admin password. Change before production.
PasswordVault__MasterKeyYesMaster key used for password vault encryption. Change before production and keep stable.

⁠Ports

Container PortDefault Host PortDescription
80805285SecurityBox web application
3306OptionalMariaDB, only expose if external access is required

⁠Volumes

VolumeDescription
mariadb_dataPersistent MariaDB database files

⁠Security Notes

  • Change all default passwords before running in production.
  • Keep PasswordVault__MasterKey secret and stable. If it is changed after passwords are saved, existing encrypted vault data may no longer decrypt.
  • Do not publish MariaDB port 3306 unless another host must connect to the database.
  • Put the application behind HTTPS in production.
  • Back up the MariaDB volume regularly.
  • Store production secrets with Docker secrets, an orchestrator secret store, or protected environment variables.

⁠First Login

Use the configured seeded SA account:

Username: value of SeedSaUser__UserName
Password: value of SeedSaUser__Password

After login, change the default password and create the required users, companies, and projects.

Tag summary

Content type

Image

Digest

sha256:c3555dca9…

Size

63.4 MB

Last updated

21 days ago

docker pull ssiroos/securitybox