Skip to content

eduardojunio/lista-pronta

Repository files navigation

Lista Pronta

Deploying to DigitalOcean with Terraform and Ansible

This project uses Terraform for infrastructure provisioning and Ansible for server configuration and deployment.

Prerequisites

  • DigitalOcean account and Personal Access Token
  • Terraform installed
  • Ansible installed
  • SSH key pair added to DigitalOcean

Deployment Steps

  1. Create Infrastructure with Terraform

    cd cloud/terraform
    terraform init
    terraform plan -out="infra.out"
    terraform apply "infra.out"
    
    # Store the droplet IP for Ansible
    export DROPLET_IP=$(terraform output -raw droplet_ip)
    export SSH_PRIVATE_KEY_PATH=~/.ssh/id_ed25519
  2. Prepare Application Environment

    # Copy and edit environment variables
    cp .env.example .env
    # Edit .env with your values for:
    # - DOMAIN
    # - EMAIL
    # - LISTAPRONTA_SESSION_SECRET
  3. Run Ansible Playbooks

    cd cloud/ansible
    # Generate inventory file with correct values
    ./create-inventory.sh
    
    # Initial server setup (Docker, users, firewall)
    ansible-playbook -i inventory.ini setup.yml
    
    # Deploy application
    ansible-playbook -i inventory.ini deploy.yml

Updating the Application

To update the application with the latest changes:

cd cloud/ansible
ansible-playbook -i inventory.ini deploy.yml

Infrastructure Cleanup

To remove all created resources:

cd cloud/terraform
terraform destroy

About

https://listapronta.online

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors