This commit is contained in:
2023-09-26 18:14:36 -06:00
commit fb5a0fc542
443 changed files with 21892 additions and 0 deletions

3
ReactiveResume/.db.env Normal file
View File

@@ -0,0 +1,3 @@
POSTGRES_DB=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres

110
ReactiveResume/.drone.yml Normal file
View File

@@ -0,0 +1,110 @@
---
kind: pipeline
type: docker
name: deploy
environment:
PACKAGE: ReactiveResume
URL: reactiveresume.alexlebens.net reactiveresumesr.alexlebens.net
steps:
- name: Tests
image: ps03fd.alexlebens.net:5000/droneimage:latest
commands:
- /scripts/tests.sh
- name: Nofification > Discord | Tests - Failure
image: appleboy/drone-discord
settings:
webhook_id:
from_secret: discord_webhook_id
webhook_token:
from_secret: discord_webhook_token
username: DroneCI - ps03fd
message: Docker compose validation for ReactiveResume failed.
when:
status:
- failure
- name: Configuration
image: ps03fd.alexlebens.net:5000/droneimage:latest
commands:
- mkdir ~/.ssh/
- echo "$SSH_KEY" > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- ssh-keyscan -H $HOST_IP >> ~/.ssh/known_hosts
- /scripts/configuration.sh
environment:
SSH_KEY:
from_secret: ssh_key_ps03fd_drone
DOCKER_HOST:
from_secret: docker_host_ps03fd
HOST_IP:
from_secret: host_ip_ps03fd
UPTIMEKUMA_NAME:
from_secret: uptimekuma_name
UPTIMEKUMA_PASSWORD:
from_secret: uptimekuma_password
UPTIMEKUMA_URL:
from_secret: uptimekuma_url
when:
branch:
- main
- name: Nofification > Discord | Configuration - Failure
image: appleboy/drone-discord
settings:
webhook_id:
from_secret: discord_webhook_id
webhook_token:
from_secret: discord_webhook_token
username: DroneCI - ps03fd
message: Configuration for ReactiveResume failed.
when:
status:
- failure
- name: Deploy
image: ps03fd.alexlebens.net:5000/droneimage:latest
commands:
- mkdir ~/.ssh/
- echo "$SSH_KEY" > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- ssh-keyscan -H $HOST_IP >> ~/.ssh/known_hosts
- /scripts/deploy.sh
environment:
SSH_KEY:
from_secret: ssh_key_ps03fd_drone
DOCKER_HOST:
from_secret: docker_host_ps03fd
HOST_IP:
from_secret: host_ip_ps03fd
when:
branch:
- main
- name: Nofification > Discord | Deploy - Success
image: appleboy/drone-discord
settings:
webhook_id:
from_secret: discord_webhook_id
webhook_token:
from_secret: discord_webhook_token
username: DroneCI - ps03fd
message: Docker compose deployment for ReactiveResume succeeded
when:
status:
- sucess
- name: Nofification > Discord | Deploy - Failure
image: appleboy/drone-discord
settings:
webhook_id:
from_secret: discord_webhook_id
webhook_token:
from_secret: discord_webhook_token
username: DroneCI - ps03fd
message: Docker compose deployment for ReactiveResume failed.
when:
status:
- failure

10
ReactiveResume/.env Normal file
View File

@@ -0,0 +1,10 @@
PUBLIC_URL=https://reactiveresume.alexlebens.net
PUBLIC_SERVER_URL=https://reactiveresumesr.alexlebens.net
POSTGRES_DB=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
SECRET_KEY=change-me-to-something-secure
POSTGRES_HOST=reactiveresume_postgres
POSTGRES_PORT=5432
JWT_SECRET=change-me-to-something-secure
JWT_EXPIRY_TIME=604800

3
ReactiveResume/README.md Normal file
View File

@@ -0,0 +1,3 @@
# ReactiveResume
[![Build Status](https://drone.alexlebens.net/api/badges/alexlebens/ReactiveResume/status.svg)](https://drone.alexlebens.net/alexlebens/ReactiveResume)

View File

@@ -0,0 +1,17 @@
{
"type": "docker",
"name": "ReactiveResume Postgres - Docker",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://reactiveresume.alexlebens.net",
"accepted_statuscodes": [
"200-299"
],
"docker_container": "reactiveresume_postgres",
"docker_host": 1
}

View File

@@ -0,0 +1,17 @@
{
"type": "docker",
"name": "ReactiveResume Server - Docker",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://reactiveresumesr.alexlebens.net",
"accepted_statuscodes": [
"200-299"
],
"docker_container": "reactiveresume_server",
"docker_host": 1
}

View File

@@ -0,0 +1,17 @@
{
"type": "docker",
"name": "ReactiveResume Client - Docker",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://reactiveresume.alexlebens.net",
"accepted_statuscodes": [
"200-299"
],
"docker_container": "",
"docker_host": 1
}

View File

@@ -0,0 +1,15 @@
{
"type": "http",
"name": "ReactiveResume - Web",
"interval": 60,
"retryInterval": 20,
"maxretries": 1,
"notificationIDList": [
3,
4
],
"url": "https://reactiveresume.alexlebens.net",
"accepted_statuscodes": [
"200-299"
]
}

View File

@@ -0,0 +1,81 @@
services:
postgres:
container_name: reactiveresume_postgres
env_file:
- .db.env
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U postgres" ]
start_period: 15s
interval: 30s
timeout: 30s
retries: 3
image: postgres:alpine
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik: null
restart: always
volumes:
- pgdata:/var/lib/postgresql/data
server:
container_name: reactiveresume_server
depends_on:
- postgres
env_file:
- .env
image: amruthpillai/reactive-resume:server-latest
labels:
traefik.docker.network: traefik
traefik.enable: true
traefik.http.routers.reactiveresume_server.entrypoints: websecure
traefik.http.routers.reactiveresume_server.rule: Host(`reactiveresumesr.alexlebens.net`)
traefik.http.routers.reactiveresume_server.service: reactiveresume_server
traefik.http.services.reactiveresume_server.loadbalancer.server.port: 3100
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik: null
restart: always
client:
container_name: reactiveresume_client
depends_on:
- server
env_file:
- .env
image: amruthpillai/reactive-resume:client-latest
labels:
traefik.docker.network: traefik
traefik.enable: true
traefik.http.routers.reactiveresume_client.entrypoints: websecure
traefik.http.routers.reactiveresume_client.rule: Host(`reactiveresume.alexlebens.net`)
traefik.http.routers.reactiveresume_client.service: reactiveresume_client
traefik.http.services.reactiveresume_client.loadbalancer.server.port: 3000
logging:
driver: json-file
options:
max-size: 50m
max-file: "3"
networks:
traefik: null
restart: always
networks:
traefik:
name: traefik
external: true
volumes:
pgdata:
driver: local
driver_opts:
type: none
o: bind
device: /var/lib/docker/volumes/partition/reactiveresume_pgdata