All Projects → lobsters → Lobsters Ansible

lobsters / Lobsters Ansible

Licence: isc
Ansible playbook for lobste.rs

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Lobsters Ansible

Ansible Rails
Ruby on Rails deployment using Ansible - with Lets Encrypt, Sidekiq, PostgreSQL, nginx & puma
Stars: ✭ 199 (+255.36%)
Mutual labels:  ansible, rails, nginx
Ansipress
AnsiPress - Simple L(Linux) E(NGINX) M(MariaDB) P(PHP7) Shared Hosting Setup
Stars: ✭ 184 (+228.57%)
Mutual labels:  ansible, nginx
Ansible Collection Hardening
This Ansible collection provides battle tested hardening for Linux, SSH, nginx, MySQL
Stars: ✭ 2,543 (+4441.07%)
Mutual labels:  ansible, nginx
Laravel Deployment
📗[WIP] 追求质量的 Laravel 应用部署上线课程。
Stars: ✭ 190 (+239.29%)
Mutual labels:  ansible, nginx
Ansible Role Ssl Certs
Generate and/or deploy SSL certificate
Stars: ✭ 122 (+117.86%)
Mutual labels:  ansible, nginx
Vagrant Elastic Stack
Giving the Elastic Stack a try in Vagrant
Stars: ✭ 131 (+133.93%)
Mutual labels:  ansible, nginx
Ansible Nginx Hardening
This Ansible role provides secure nginx configurations.
Stars: ✭ 180 (+221.43%)
Mutual labels:  ansible, nginx
Ansible Role Nginx
Ansible role to install and manage nginx configuration
Stars: ✭ 648 (+1057.14%)
Mutual labels:  ansible, nginx
Ansible Role Nginx
Ansible Role - Nginx
Stars: ✭ 632 (+1028.57%)
Mutual labels:  ansible, nginx
Ansible Role Nginx
Ansible role for NGINX
Stars: ✭ 404 (+621.43%)
Mutual labels:  ansible, nginx
Docker Cloud Platform
使用Docker构建云平台,Docker云平台系列共三讲,Docker基础、Docker进阶、基于Docker的云平台方案。OpenStack+Docker+RestAPI+OAuth/HMAC+RabbitMQ/ZMQ+OpenResty/HAProxy/Nginx/APIGateway+Bootstrap/AngularJS+Ansible+K8S/Mesos/Marathon构建/探索微服务最佳实践。
Stars: ✭ 86 (+53.57%)
Mutual labels:  ansible, nginx
Ansible Role Htpasswd
Ansible Role - htpasswd
Stars: ✭ 17 (-69.64%)
Mutual labels:  ansible, nginx
Manageiq
ManageIQ Open-Source Management Platform
Stars: ✭ 1,089 (+1844.64%)
Mutual labels:  ansible, rails
Nginx
A fairly flexible and feature full Ansible role for the NGINX web server.
Stars: ✭ 151 (+169.64%)
Mutual labels:  ansible, nginx
Ansible Rails
Ansible: Ruby on Rails Server
Stars: ✭ 317 (+466.07%)
Mutual labels:  ansible, rails
Medusa
🐈Medusa是一个红队武器库平台,目前包括扫描功能(200+个漏洞)、XSS平台、协同平台、CVE监控等功能,持续开发中 http://medusa.ascotbe.com
Stars: ✭ 796 (+1321.43%)
Mutual labels:  rails, nginx
Ansible Config encoder filters
Ansible role used to deliver the Config Encoder Filters.
Stars: ✭ 48 (-14.29%)
Mutual labels:  ansible, nginx
Salorhospitality
The innovative Point of Sale Solution serving the Hospitality Industry
Stars: ✭ 52 (-7.14%)
Mutual labels:  rails
Danbooru
A taggable image board written in Rails 6.
Stars: ✭ 1,077 (+1823.21%)
Mutual labels:  rails
Docker Rails React Starter
A basic docker-compose, Rails and React / Webpack starter kit
Stars: ✭ 52 (-7.14%)
Mutual labels:  rails

Lobste.rs Ansible Playbook

Ansible playbook for lobste.rs. Lobsters is a technology-focused link aggregation site.

See the notes below if you're using this to set up your own site.

To run:

$ ansible-playbook -K prod.yml

When working on staging:

$ ansible-playbook --inventory=inventories/staging.ini -K staging.yml

Inventory

The following host groups are available:

db              - SQL server
dns             - authoritative DNS
mx*             - incoming email
smtp*           - outgoing email
www*            - http over SSL

groups marked with an asterisk (*) use public SSL certificates.

The following variables are available:

db_server       - SQL server
dns_server      - authoritative DNS server
mx_server       - incoming mail server
smtp_server     - outgoing mail server
www_server      - http/s

When a host group has more than one hostname, the _server variable contains the authoritative name for the hosted sevice. This playbook tries not to distinguish between host variables and group variables.

https://docs.ansible.com/ansible/latest/intro_inventory.html

Roles

mariadb         - SQL database.
lobsters        - web application.
nginx           - http proxy and SSL termination.
sysadm          - accounts and ssh shell acess for system administrators.
postfix         - MX and smtp server.
lobsters-puma   - App server

https://docs.ansible.com/ansible/latest/playbooks.html https://docs.ansible.com/ansible/latest/playbooks_reuse_roles.html

SSH Keys

To use this playbook, you'll need an account in the sysadm role along with an SSH key pair.

Setup Notes

This is a rough checklist for turning a new Ubuntu LTS VPS into a running instance of Lobsters. If you're familiar with Linux sysadmin and Rails it should be pretty self-explanatory. You can drop by #lobsters on Freenode if you have questions.

  ssh [email protected] box
   apt-get update
   apt-get upgrade
   reboot # will almost certainly be a new kernel
   apt-get install certbot

 time ansible-playbook -K prod.yml # should get an error about connecting to database
 
 mysql -u root
   create database lobsters;
   select sha1(concat('mash keyboard', rand()));
   create user [email protected]'localhost' identified by "[hash]"; # may need to be @'%' for any host, an ip, etc
   grant all privileges on lobsters.* to 'lobsters'@'localhost'; # match host from prev

 create /srv/lobste.rs/http/config/database.yml
 create /srv/lobste.rs/http/config/initializers/production.rb
 create /srv/lobste.rs/http/config/secrets.yml

 bundle exec rails credentials:edit to create secret key base
 chown -R lobsters:lobsters /srv/lobste.rs/http/config
 echo "[email protected]" > /root/.forward
 run ansible again to deploy code + build assets
 reboot again # to see everything comes up properly automatically
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].