Basic config, docker compose copied from READMEs
This commit is contained in:
commit
cb61014c1c
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
*/.vagrant
|
||||||
5
README.md
Normal file
5
README.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# README.md
|
||||||
|
|
||||||
|
This repository contains all files relevant for setup, testing, results, etc. of my bachelor thesis
|
||||||
|
|
||||||
|
The `webserver/` folder represent the first (and possibly only) test scenario of two webservices (gitea and bitwarden) running on the same host, with a shared database container, and a reverse proxy to route base on subdomain. The `base/` subfolder has a minimal configuration, and the `hardened/` subfolder includes configurations implementing security measures.
|
||||||
17
webserver/base/Vagrantfile
vendored
Normal file
17
webserver/base/Vagrantfile
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
Vagrant.configure("2") do |config|
|
||||||
|
config.vm.box = "ubuntu/focal64"
|
||||||
|
config.vm.box_version = "20240821.0.1"
|
||||||
|
config.vm.hostname = "docker-vm"
|
||||||
|
config.vm.network "private_network", type: "dhcp"
|
||||||
|
|
||||||
|
config.vm.provider "virtualbox" do |v|
|
||||||
|
v.memory = 2048
|
||||||
|
v.cpus = 2
|
||||||
|
end
|
||||||
|
|
||||||
|
config.vm.synced_folder "./docker", "/home/vagrant/docker"
|
||||||
|
|
||||||
|
config.vm.provision "ansible_local" do |ansible|
|
||||||
|
ansible.playbook = "/vagrant/ansible/playbook.yml"
|
||||||
|
end
|
||||||
|
end
|
||||||
54
webserver/base/ansible/playbook.yml
Normal file
54
webserver/base/ansible/playbook.yml
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
become: true
|
||||||
|
vars:
|
||||||
|
container_count: 1
|
||||||
|
default_container_name: docker
|
||||||
|
default_container_image: hello-world
|
||||||
|
default_container_command: sleep 1
|
||||||
|
tasks:
|
||||||
|
- name: Install required system packages
|
||||||
|
apt:
|
||||||
|
pkg:
|
||||||
|
- apt-transport-https
|
||||||
|
- ca-certificates
|
||||||
|
- curl
|
||||||
|
- software-properties-common
|
||||||
|
- virtualenv
|
||||||
|
state: latest
|
||||||
|
update_cache: true
|
||||||
|
|
||||||
|
- name: Add Docker GPG apt Key
|
||||||
|
apt_key:
|
||||||
|
url: https://download.docker.com/linux/ubuntu/gpg
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Add Docker Repository
|
||||||
|
apt_repository:
|
||||||
|
repo: deb https://download.docker.com/linux/ubuntu focal stable
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Update apt and install docker-ce
|
||||||
|
apt:
|
||||||
|
pkg:
|
||||||
|
- docker-ce
|
||||||
|
- docker-compose-plugin
|
||||||
|
state: latest
|
||||||
|
update_cache: true
|
||||||
|
|
||||||
|
- name: Copy docker-compose.yml to home directory
|
||||||
|
copy:
|
||||||
|
src: /home/vagrant/docker/docker-compose.yml
|
||||||
|
dest: /home/vagrant/docker-compose.yml
|
||||||
|
remote_src: yes
|
||||||
|
|
||||||
|
- name: Ensure Docker service is running
|
||||||
|
service:
|
||||||
|
name: docker
|
||||||
|
state: started
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
- name: Run docker compose up -d
|
||||||
|
command: docker compose up -d
|
||||||
|
args:
|
||||||
|
chdir: /home/vagrant
|
||||||
31
webserver/base/docker/docker-compose.yml
Normal file
31
webserver/base/docker/docker-compose.yml
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
services:
|
||||||
|
bitwarden:
|
||||||
|
image: vaultwarden/server:latest
|
||||||
|
container_name: vaultwarden
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
DOMAIN: "https://vw.domain.tld"
|
||||||
|
volumes:
|
||||||
|
- ./vw-data/:/data/
|
||||||
|
ports:
|
||||||
|
- 80:80
|
||||||
|
gitea:
|
||||||
|
image: docker.gitea.com/gitea:latest
|
||||||
|
container_name: gitea
|
||||||
|
environment:
|
||||||
|
- USER_UID=1000
|
||||||
|
- USER_GID=1000
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- gitea
|
||||||
|
volumes:
|
||||||
|
- ./gitea:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
- "222:22"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
gitea:
|
||||||
|
external: false
|
||||||
Reference in New Issue
Block a user