This commit is contained in:
Colin 2024-05-09 22:05:50 -04:00
parent f55e7531c8
commit 9f0dee3d88
11 changed files with 42 additions and 127 deletions

View File

@ -1 +1 @@
<!-- build 1 --> <!-- build 0 -->

View File

@ -1,11 +1,6 @@
services: services:
asciinema: whisper:
build: build:
context: ./docker/asciinema/ context: ./docker/whisper/
dockerfile: Dockerfile.production dockerfile: Dockerfile.production
image: git.nixc.us/nixius/asciinema:production-asciinema image: git.nixc.us/nixius/whisper:production
postgres:
build:
context: ./docker/postgres/
dockerfile: Dockerfile.production
image: git.nixc.us/nixius/asciinema:production-postgres

View File

@ -1,11 +1,6 @@
services: services:
asciinema: whisper:
build: build:
context: ./docker/asciinema/ context: ./docker/whisper/
dockerfile: Dockerfile dockerfile: Dockerfile
image: git.nixc.us/nixius/asciinema:staging-asciinema image: git.nixc.us/nixius/whisper:staging
postgres:
build:
context: ./docker/postgres/
dockerfile: Dockerfile
image: git.nixc.us/nixius/asciinema:staging-postgres

View File

@ -1 +0,0 @@
FROM ghcr.io/asciinema/asciinema-server:20240428

View File

@ -1 +0,0 @@
FROM git.nixc.us/nixius/asciinema:staging-asciinema

View File

@ -1 +0,0 @@
FROM docker.io/library/postgres:14-alpine

View File

@ -1 +0,0 @@
FROM git.nixc.us/nixius/asciinema:staging-postgres

18
docker/whisper/Dockerfile Normal file
View File

@ -0,0 +1,18 @@
# Use an official Node runtime as a parent image
FROM node:16-alpine
# Set the working directory
WORKDIR /usr/src/app
# Clone the repo
RUN apk --no-cache add git \
&& git clone https://github.com/xenova/whisper-web.git .
# Install dependencies
RUN npm install
# Expose the port the app runs on
EXPOSE 5173
# Command to run the app
CMD ["npm", "run", "dev"]

View File

@ -0,0 +1 @@
FROM git.nixc.us/nixius/whisper:staging

View File

@ -4,76 +4,35 @@ networks:
default: default:
driver: overlay driver: overlay
services: services:
asciinema: whisper:
image: git.nixc.us/nixius/asciinema:production-asciinema image: git.nixc.us/nixius/whisper:production-whisper
networks: networks:
- traefik - traefik
- default - default
# ports: # ports:
# - '80:4000' # - '80:4000'
environment: environment:
SECRET_KEY_BASE: "MSDkdc9ZI5ar3VC3eOhRp3xWxiIQkEi3LR1UYNtU7NUAJeERhMVSvb0E4b5ODyCW"
URL_HOST: "asciinema.nixc.us"
# URL_PORT: "443"
URL_SCHEME: "https"
SMTP_HOST: "box.p.nixc.us"
# SMTP_PORT: "465"
SMTP_USERNAME: "asciinema@nixc.us"
SMTP_FROM_ADDRESS: "asciinema@nixc.us"
SMTP_REPLY_TO_ADDRESS: "asciinema@nixc.us"
# SMTP_AUTH: always
# SMTP_TLS: always
SMTP_PASSWORD: "DiHcwSup8RSo66LgEzGi7R4PBWsDyFgxn"
UNCLAIMED_RECORDING_TTL: "30"
SIGN_UP_DISABLED: "true" SIGN_UP_DISABLED: "true"
volumes: # volumes:
- /mnt/tank/persist/nixc.us/asciinema/production/data:/var/opt/asciinema # - /mnt/tank/persist/nixc.us/whisper/production/data:/var/opt/whisper
deploy: deploy:
placement: placement:
constraints: constraints:
- node.hostname == macmini14 - node.hostname == macmini14
labels: labels:
homepage.group: apps homepage.group: apps
homepage.name: asciinema homepage.name: whisper
homepage.href: https://asciinema.nixc.us/ homepage.href: https://whisper.nixc.us/
homepage.description: asciinema homepage.description: whisper
traefik.enable: "true" traefik.enable: "true"
traefik.http.routers.production-asciinema_asciinema.rule: "Host(`asciinema.nixc.us`)" traefik.http.routers.production-whisper_whisper.rule: "Host(`whisper.nixc.us`)"
traefik.http.routers.production-asciinema_asciinema.entrypoints: "websecure" traefik.http.routers.production-whisper_whisper.entrypoints: "websecure"
traefik.http.routers.production-asciinema_asciinema.tls: "true" traefik.http.routers.production-whisper_whisper.tls: "true"
traefik.http.routers.production-asciinema_asciinema.tls.certresolver: "letsencryptresolver" traefik.http.routers.production-whisper_whisper.tls.certresolver: "letsencryptresolver"
traefik.http.routers.production-asciinema_asciinema.service: "production-asciinema_asciinema" traefik.http.routers.production-whisper_whisper.service: "production-whisper_whisper"
traefik.http.services.production-asciinema_asciinema.loadbalancer.server.port: "4000" traefik.http.services.production-whisper_whisper.loadbalancer.server.port: "5173"
traefik.docker.network: "traefik" traefik.docker.network: "traefik"
# traefik.http.routers.production_asciinema.middlewares: 'authelia_authelia@docker' traefik.http.routers.production_whisper.middlewares: 'authelia_authelia@docker'
update_config:
order: stop-first
failure_action: rollback
delay: 5s
delay: 10s
parallelism: 1
restart_policy:
condition: on-failure
postgres:
image: git.nixc.us/nixius/asciinema:production-postgres
networks:
- default
environment:
- POSTGRES_HOST_AUTH_METHOD=trust
volumes:
- /mnt/tank/persist/nixc.us/asciinema/production/db:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U postgres']
interval: 2s
timeout: 5s
retries: 10
deploy:
placement:
constraints:
- node.hostname == macmini14
labels:
traefik.enable: "false"
update_config: update_config:
order: stop-first order: stop-first
failure_action: rollback failure_action: rollback

View File

@ -1,55 +1,6 @@
services: services:
asciinema: whisper:
image: git.nixc.us/nixius/asciinema:staging-asciinema image: git.nixc.us/nixius/asciinema:staging
# ports:
# - '80:4000'
environment:
- SECRET_KEY_BASE=MSDkdc9ZI5ar3VC3eOhRp3xWxiIQkEi3LR1UYNtU7NUAJeERhMVSvb0E4b5ODyCW
- URL_HOST=asciinema.nixc.us
- URL_PORT=443
- SMTP_HOST=box.p.nixc.us
- SMTP_USERNAME=asciinema@nixc.us
- SMTP_PASSWORD=DiHcwSup8RSo66LgEzGi7R4PBWsDyFgxn
# volumes:
# - /mnt/tank/persist/nixc.us/asciinema/staging/data:/var/opt/asciinema
deploy:
placement:
constraints:
- node.hostname == macmini14
labels:
# homepage.group: apps
# homepage.name: asciinema
# homepage.href: https://staging.asciinema.nixc.us/
# homepage.description: asciinema
traefik.enable: "false"
# traefik.http.routers.asciinema.tls: "true"
# traefik.http.services.staging_asciinema.loadbalancer.server.port: 8080
# traefik.http.routers.staging_asciinema.rule: Host(`asciinema.nixc.us`)
# traefik.http.routers.staging_asciinema.entrypoints: websecure
# traefik.http.routers.staging_asciinema.tls.certresolver: letsencryptresolver
# traefik.http.routers.staging_asciinema.service: staging_asciinema
# traefik.docker.network: traefik
# # traefik.http.routers.staging_asciinema.middlewares: 'authelia_authelia@docker'
update_config:
order: stop-first
failure_action: rollback
delay: 5s
delay: 10s
parallelism: 1
restart_policy:
condition: on-failure
postgres:
image: git.nixc.us/nixius/asciinema:staging-postgres
environment:
- POSTGRES_HOST_AUTH_METHOD=trust
# volumes:
# - /mnt/tank/persist/nixc.us/asciinema/staging/db:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U postgres']
interval: 2s
timeout: 5s
retries: 10
deploy: deploy:
placement: placement:
constraints: constraints: