Giter VIP home page Giter VIP logo

password-server's Introduction

Building a Privately Hosted Password Server

Configurations For AWS Deployment of a Dockerized NextCloud Application With a MariaDB Database Behind an Nginx Reverse Proxy

This project was completed in collaboration with Maya Rukshin (https://github.com/mrukshin1218). This repository serves as a de-identified record of my work.

Repository Contents

This repository consists of the following files:

  • README.md: an introduction to the project and explanation of repository contents
  • docker-compose.yml: a docker-compose file containing all of the information related to the services needed to build the application, database, and proxy server. Necessary when launching your password server locally, not through AWS.
  • nginx.conf: a customized nginx configuration file
  • .gitignore: file keeping git from pulling SSL certificates into the repository
  • Dockerfile: Necessary in configuring nginx, essentially mounts files from the local machine to the image.
  • Launch Configurations: The script used in AWS EC2 launch configurations (ran at the startup of a new virtual machine).

Choosing a Password Manager: NextCloud and Passman

The password server hosts the NextCloud application, which comes with the Passman plug-in. NextCloud is a cloud storage service, similar to Google Drive and Dropbox. NextCloud is free and open source, meaning that anyone can install it on their private server. The application's open architecture also gives users full control of their data. Passman is a web-browser based password management plug-in designed to be compatible with NextCloud. There is also an accompanying Passman Google Chrome extension.

Why Dockerization?

This project involves Dockerizing the NextCloud application. Docker allows one to containerize their application. Docker container images are packages of software that include everything needed to run an application. At runtime, images become containers. Containers isolate software from its environment, and make it easier and faster to deploy applications.

AWS

The following AWS tools are utilized in the project:

  • EC2
    • Auto scaling groups
    • Launch Configurations
    • Task definitions
    • Instances
    • Load Balancers
    • Security Groups
    • Elastic IP’s
  • ECS
  • Clusters
  • Task Definitions
  • ECR
  • Repositories
  • RDS
  • S3

password-server's People

Contributors

mrukshin1218 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.