Asciinema

This commit is contained in:
Colin 2024-05-07 23:38:31 -04:00
parent 9465887ce1
commit e6570f24cd
9 changed files with 77 additions and 115 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,58 +1,35 @@
version: "3.7"
x-environment: &default-environment
environment:
POSTGRES_DB: picsur
POSTGRES_PASSWORD: picsur
POSTGRES_USER: picsur
# PICSUR_HOST: '0.0.0.0'
# PICSUR_PORT: 8080
PICSUR_DB_HOST: picsur_postgres
PICSUR_DB_PORT: 5432
PICSUR_DB_USERNAME: picsur
PICSUR_DB_PASSWORD: picsur
PICSUR_DB_DATABASE: picsur
## The default username is admin, this is not modifyable
PICSUR_ADMIN_PASSWORD: Jc4SfnnvBD9w3E4w6si8FnreQ8zoUxRco
## Optional, random secret will be generated if not set
PICSUR_JWT_SECRET: lkBNe0tKsHxfAUh6CzyAWOxkl5AMsG/jFCG/o93yocU=
PICSUR_JWT_EXPIRY: 7d
## Maximum accepted size for uploads in bytes
PICSUR_MAX_FILE_SIZE: 52428800 # 50 MB in bytes
## No need to touch this, unless you use a custom frontend
# PICSUR_STATIC_FRONTEND_ROOT: "/picsur/frontend/dist"
## Warning: Verbose mode might log sensitive data
PICSUR_VERBOSE: "true"
networks:
traefik:
external: true
default:
services:
picsur:
image: git.nixc.us/nixius/picsur:production-picsur
<<: *default-environment
networks:
- traefik
- default
asciinema:
image: git.nixc.us/nixius/asciinema:production-asciinema
# 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/production/data:/var/opt/asciinema
deploy:
placement:
constraints:
- node.hostname == macmini14
labels:
homepage.group: apps
homepage.name: picsur
homepage.href: https://picsur.nixc.us/
homepage.description: picsur
homepage.name: asciinema
homepage.href: https://asciinema.nixc.us/
homepage.description: asciinema
traefik.enable: "true"
traefik.http.routers.picsur.tls: "true"
traefik.http.services.production_picsur.loadbalancer.server.port: 8080
traefik.http.routers.production_picsur.rule: Host(`picsur.nixc.us`)
traefik.http.routers.production_picsur.entrypoints: websecure
traefik.http.routers.production_picsur.tls.certresolver: letsencryptresolver
traefik.http.routers.production_picsur.service: production_picsur
traefik.http.routers.asciinema.tls: "true"
traefik.http.services.production_asciinema.loadbalancer.server.port: 8080
traefik.http.routers.production_asciinema.rule: Host(`asciinema.nixc.us`)
traefik.http.routers.production_asciinema.entrypoints: websecure
traefik.http.routers.production_asciinema.tls.certresolver: letsencryptresolver
traefik.http.routers.production_asciinema.service: production_asciinema
traefik.docker.network: traefik
# traefik.http.routers.production_picsur.middlewares: 'authelia_authelia@docker'
# traefik.http.routers.production_asciinema.middlewares: 'authelia_authelia@docker'
update_config:
order: stop-first
failure_action: rollback
@ -63,12 +40,16 @@ services:
condition: on-failure
postgres:
image: git.nixc.us/nixius/picsur:production-postgres
<<: *default-environment
networks:
- default
image: git.nixc.us/nixius/asciinema:production-postgres
environment:
- POSTGRES_HOST_AUTH_METHOD=trust
volumes:
- /mnt/tank/persist/nixc.us/picsur/production/db:/var/lib/postgresql/data
- /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:

View File

@ -1,58 +1,35 @@
version: "3.7"
x-environment: &default-environment
environment:
POSTGRES_DB: picsur
POSTGRES_PASSWORD: picsur
POSTGRES_USER: picsur
# PICSUR_HOST: '0.0.0.0'
# PICSUR_PORT: 8080
PICSUR_DB_HOST: picsur_postgres
PICSUR_DB_PORT: 5432
PICSUR_DB_USERNAME: picsur
PICSUR_DB_PASSWORD: picsur
PICSUR_DB_DATABASE: picsur
## The default username is admin, this is not modifyable
PICSUR_ADMIN_PASSWORD: Jc4SfnnvBD9w3E4w6si8FnreQ8zoUxRco
## Optional, random secret will be generated if not set
PICSUR_JWT_SECRET: lkBNe0tKsHxfAUh6CzyAWOxkl5AMsG/jFCG/o93yocU=
PICSUR_JWT_EXPIRY: 7d
## Maximum accepted size for uploads in bytes
PICSUR_MAX_FILE_SIZE: 52428800 # 50 MB in bytes
## No need to touch this, unless you use a custom frontend
# PICSUR_STATIC_FRONTEND_ROOT: "/picsur/frontend/dist"
## Warning: Verbose mode might log sensitive data
PICSUR_VERBOSE: "true"
networks:
traefik:
external: true
default:
services:
picsur:
image: git.nixc.us/nixius/picsur:staging-picsur
<<: *default-environment
networks:
- traefik
- default
asciinema:
image: git.nixc.us/nixius/asciinema:staging-asciinema
# 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: picsur
homepage.href: https://picsur.nixc.us/
homepage.description: picsur
homepage.name: asciinema
homepage.href: https://staging.asciinema.nixc.us/
homepage.description: asciinema
traefik.enable: "true"
traefik.http.routers.picsur.tls: "true"
traefik.http.services.staging_picsur.loadbalancer.server.port: 8080
traefik.http.routers.staging_picsur.rule: Host(`staging.picsur.nixc.us`)
traefik.http.routers.staging_picsur.entrypoints: websecure
traefik.http.routers.staging_picsur.tls.certresolver: letsencryptresolver
traefik.http.routers.staging_picsur.service: staging_picsur
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_picsur.middlewares: 'authelia_authelia@docker'
# traefik.http.routers.staging_asciinema.middlewares: 'authelia_authelia@docker'
update_config:
order: stop-first
failure_action: rollback
@ -63,12 +40,16 @@ services:
condition: on-failure
postgres:
image: git.nixc.us/nixius/picsur:staging-postgres
<<: *default-environment
networks:
- default
image: git.nixc.us/nixius/asciinema:staging-postgres
environment:
- POSTGRES_HOST_AUTH_METHOD=trust
# volumes:
# - /mnt/tank/persist/nixc.us/picsur/staging/db:/var/lib/postgresql/data
# - /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:
placement:
constraints: