create a something service

This commit is contained in:
Elizabeth Hunt 2025-01-02 16:58:21 -08:00
parent 6488ee867c
commit 8e42029d13
Signed by: simponic
GPG Key ID: 2909B9A7FF6213EE
8 changed files with 103 additions and 4 deletions

View File

@ -5,15 +5,15 @@ set -e
DNS_ENDPOINT="https://hatecomputers.club/dns"
BIND_FILE="roles/nameservers/templates/db.simponic.xyz.j2"
SERVICE_TITLE="phoneof simponic."
SERVICE="phoneof"
SERVICE_PORT="19191"
SERVICE_TITLE="something simponic."
SERVICE="something"
SERVICE_PORT="6363"
SERVICE_REPO="git.simponic.xyz/simponic/$SERVICE"
SERVICE_ORIGIN="git@git.simponic.xyz:simponic/$SERVICE"
INTERNAL="no"
SERVICE_HOST="ryo"
PACKAGE_PATH="$HOME/git/simponic/$SERVICE"
HATECOMPUTERS_API_KEY="$(pbaste)"
HATECOMPUTERS_API_KEY="$(pbpaste)"
function render_template() {

4
deploy-something.yml Normal file
View File

@ -0,0 +1,4 @@
- name: deploy something
hosts: something
roles:
- something

View File

@ -89,3 +89,6 @@ raspberrypi ansible_user=root ansible_connection=ssh
[phoneof]
ryo ansible_user=root ansible_connection=ssh
[something]
ryo ansible_user=root ansible_connection=ssh

View File

@ -27,6 +27,7 @@ simponic.xyz. 1 IN A 23.95.214.176
chesshbot.simponic.xyz. 1 IN A 129.123.76.14
;; CNAME Records
something.simponic.xyz. 43200 IN CNAME ryo.simponic.xyz.
phoneof.simponic.xyz. 43200 IN CNAME ryo.simponic.xyz.
secure.tunnel.simponic.xyz. 1 IN CNAME simponic.xyz.
tunnel.simponic.xyz. 1 IN CNAME simponic.xyz.

View File

@ -0,0 +1,30 @@
---
- name: ensure something docker/compose exist
file:
path: /etc/docker/compose/something
state: directory
owner: root
group: root
mode: 0700
- name: ensure something db exist
file:
path: /etc/docker/compose/something/db
state: directory
owner: root
group: root
mode: 0777
- name: build something docker-compose.yml.j2
template:
src: ../templates/docker-compose.yml.j2
dest: /etc/docker/compose/something/docker-compose.yml
owner: root
group: root
mode: u=rw,g=r,o=r
- name: daemon-reload and enable something
ansible.builtin.systemd_service:
state: restarted
enabled: true
name: docker-compose@something

View File

@ -0,0 +1,16 @@
version: "3"
services:
api:
restart: always
image: git.simponic.xyz/simponic/something
healthcheck:
test: ["CMD", "wget", "--spider", "http://localhost:8080/api/health"]
interval: 5s
timeout: 10s
retries: 5
env_file: .env
volumes:
- ./db:/app/db
ports:
- "127.0.0.1:6363:8080"

View File

@ -0,0 +1,13 @@
server {
listen 80;
server_name something.simponic.xyz;
location /.well-known/acme-challenge {
root /var/www/letsencrypt;
try_files $uri $uri/ =404;
}
location / {
rewrite ^ https://something.simponic.xyz$request_uri? permanent;
}
}

View File

@ -0,0 +1,32 @@
server {
listen 443 ssl;
server_name headscale.simponic.xyz;
ssl_certificate /etc/letsencrypt/live/something.simponic.xyz/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/something.simponic.xyz/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/something.simponic.xyz/fullchain.pem;
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 5m;
ssl_stapling on;
ssl_stapling_verify on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_dhparam /etc/nginx/dhparams.pem;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:6363;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $server_name;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
}
}