Deploy to localhost instead of seperate VM

This commit is contained in:
sonny 2023-02-12 09:24:51 +01:00
parent 5aa567c8b7
commit b05d1647b3
14 changed files with 27 additions and 252 deletions

View file

@ -1,42 +0,0 @@
- name: add docker gpg key
apt_key:
id: '0EBFCD88'
url: 'https://download.docker.com/linux/debian/gpg'
validate_certs: true
state: present
- name: add docker repo
apt_repository:
repo: 'deb https://download.docker.com/linux/debian buster stable'
validate_certs: true
state: present
- name: install docker
apt:
name:
- docker-ce
- docker-ce-cli
- containerd.io
state: present
- name: check docker-compose existence
stat:
path: '/usr/local/bin/docker-compose'
register: docker_compose_stat
- name: download docker-compose
get_url:
url: 'https://github.com/docker/compose/releases/download/1.26.0/docker-compose-Linux-x86_64'
dest: '/usr/local/bin/docker-compose'
mode: '0755'
when: docker_compose_stat.stat.isfile is not defined
- name: add sentry user
user:
name: sentry
create_home: true
shell: '/bin/bash'
groups:
- sudo
- docker
append: true

View file

@ -1,51 +1,14 @@
- name: copy sentry systemd service
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
owner: '{{ app_user }}'
group: '{{ app_user }}'
mode: '0644'
loop:
- { src: 'templates/sentry.systemd.j2', dest: '/etc/systemd/system/sentry.service' }
notify: restart sentry
- name: copy firewall templates
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
owner: root
group: root
mode: '0600'
loop:
- { src: 'templates/nftables.j2', dest: '/etc/nftables.conf' }
- name: restart nftables
systemd:
name: nftables
state: restarted
enabled: true
- name: ensure sentry is stopped
systemd:
name: sentry
state: stopped
# restart docker after nftables changes so that it applies docker related rules
- name: restart docker
systemd:
name: docker
state: restarted
enabled: true
- name: create sites directory
become: true
file:
path: '/srv/sites'
path: '/srv/docker'
state: directory
owner: root
group: root
mode: 0755
- name: create sentry dir
become: true
file:
path: '{{ app_dir }}'
state: directory
@ -54,8 +17,6 @@
mode: 0755
- name: clone project
become_user: '{{ app_user }}'
become: true
git:
repo: '{{ app_repository }}'
dest: '{{ app_dir }}'
@ -73,6 +34,7 @@
- { src: 'templates/sentry.conf.j2', dest: '{{ app_dir }}/sentry/sentry.conf.py' }
- { src: 'templates/sentry.config.j2', dest: '{{ app_dir }}/sentry/config.yml' }
# TODO: tag other sentry images aswell
# can be ran multiple times to upgrade sentry
- name: run sentry installer
command: './install.sh'
@ -80,27 +42,15 @@
chdir: '{{ app_dir }}'
environment:
SENTRY_IMAGE: 'getsentry/sentry:{{ app_branch }}'
ignore_errors: true
SENTRY_BIND: '{{ bind_address }}'
register: installer_output
- name: copy nginx sentry config
template:
src: 'templates/nginx.j2'
dest: '/etc/nginx/sites-available/{{ app_name }}'
owner: root
group: root
mode: '0644'
- name: log installer output
debug:
var: installer_output.stdout_lines
- name: link nginx config
file:
src: '/etc/nginx/sites-available/{{ app_name }}'
dest: '/etc/nginx/sites-enabled/{{ app_name }}'
owner: root
group: root
mode: '0777'
state: link
- name: ensure nginx is restarted
systemd:
name: nginx
state: restarted
enabled: true
- name: start sentry
docker_compose:
project_src: '{{ app_dir }}'
build: false
restarted: true