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: services:
picsur: asciinema:
build: build:
context: ./docker/picsur/ context: ./docker/asciinema/
dockerfile: Dockerfile.production dockerfile: Dockerfile.production
image: git.nixc.us/nixius/picsur:production-picsur image: git.nixc.us/nixius/asciinema:production-asciinema
postgres: postgres:
build: build:
context: ./docker/postgres/ context: ./docker/postgres/
dockerfile: Dockerfile.production 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: services:
picsur: asciinema:
build: build:
context: ./docker/picsur/ context: ./docker/asciinema/
dockerfile: Dockerfile dockerfile: Dockerfile.staging
image: git.nixc.us/nixius/picsur:staging-picsur image: git.nixc.us/nixius/asciinema:staging-asciinema
postgres: postgres:
build: build:
context: ./docker/postgres/ context: ./docker/postgres/
dockerfile: Dockerfile dockerfile: Dockerfile.staging
image: git.nixc.us/nixius/picsur:staging-postgres 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: services:
picsur: asciinema:
image: git.nixc.us/nixius/picsur:production-picsur image: git.nixc.us/nixius/asciinema:production-asciinema
<<: *default-environment # ports:
networks: # - '80:4000'
- traefik environment:
- default - 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: deploy:
placement: placement:
constraints: constraints:
- node.hostname == macmini14 - node.hostname == macmini14
labels: labels:
homepage.group: apps homepage.group: apps
homepage.name: picsur homepage.name: asciinema
homepage.href: https://picsur.nixc.us/ homepage.href: https://asciinema.nixc.us/
homepage.description: picsur homepage.description: asciinema
traefik.enable: "true" traefik.enable: "true"
traefik.http.routers.picsur.tls: "true" traefik.http.routers.asciinema.tls: "true"
traefik.http.services.production_picsur.loadbalancer.server.port: 8080 traefik.http.services.production_asciinema.loadbalancer.server.port: 8080
traefik.http.routers.production_picsur.rule: Host(`picsur.nixc.us`) traefik.http.routers.production_asciinema.rule: Host(`asciinema.nixc.us`)
traefik.http.routers.production_picsur.entrypoints: websecure traefik.http.routers.production_asciinema.entrypoints: websecure
traefik.http.routers.production_picsur.tls.certresolver: letsencryptresolver traefik.http.routers.production_asciinema.tls.certresolver: letsencryptresolver
traefik.http.routers.production_picsur.service: production_picsur traefik.http.routers.production_asciinema.service: production_asciinema
traefik.docker.network: traefik traefik.docker.network: traefik
# traefik.http.routers.production_picsur.middlewares: 'authelia_authelia@docker' # traefik.http.routers.production_asciinema.middlewares: 'authelia_authelia@docker'
update_config: update_config:
order: stop-first order: stop-first
failure_action: rollback failure_action: rollback
@ -63,12 +40,16 @@ services:
condition: on-failure condition: on-failure
postgres: postgres:
image: git.nixc.us/nixius/picsur:production-postgres image: git.nixc.us/nixius/asciinema:production-postgres
<<: *default-environment environment:
networks: - POSTGRES_HOST_AUTH_METHOD=trust
- default
volumes: 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: deploy:
placement: placement:
constraints: 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: services:
picsur: asciinema:
image: git.nixc.us/nixius/picsur:staging-picsur image: git.nixc.us/nixius/asciinema:staging-asciinema
<<: *default-environment # ports:
networks: # - '80:4000'
- traefik environment:
- default - 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: deploy:
placement: placement:
constraints: constraints:
- node.hostname == macmini14 - node.hostname == macmini14
labels: labels:
homepage.group: apps homepage.group: apps
homepage.name: picsur homepage.name: asciinema
homepage.href: https://picsur.nixc.us/ homepage.href: https://staging.asciinema.nixc.us/
homepage.description: picsur homepage.description: asciinema
traefik.enable: "true" traefik.enable: "true"
traefik.http.routers.picsur.tls: "true" traefik.http.routers.asciinema.tls: "true"
traefik.http.services.staging_picsur.loadbalancer.server.port: 8080 traefik.http.services.staging_asciinema.loadbalancer.server.port: 8080
traefik.http.routers.staging_picsur.rule: Host(`staging.picsur.nixc.us`) traefik.http.routers.staging_asciinema.rule: Host(`asciinema.nixc.us`)
traefik.http.routers.staging_picsur.entrypoints: websecure traefik.http.routers.staging_asciinema.entrypoints: websecure
traefik.http.routers.staging_picsur.tls.certresolver: letsencryptresolver traefik.http.routers.staging_asciinema.tls.certresolver: letsencryptresolver
traefik.http.routers.staging_picsur.service: staging_picsur traefik.http.routers.staging_asciinema.service: staging_asciinema
traefik.docker.network: traefik traefik.docker.network: traefik
# traefik.http.routers.staging_picsur.middlewares: 'authelia_authelia@docker' # traefik.http.routers.staging_asciinema.middlewares: 'authelia_authelia@docker'
update_config: update_config:
order: stop-first order: stop-first
failure_action: rollback failure_action: rollback
@ -63,12 +40,16 @@ services:
condition: on-failure condition: on-failure
postgres: postgres:
image: git.nixc.us/nixius/picsur:staging-postgres image: git.nixc.us/nixius/asciinema:staging-postgres
<<: *default-environment environment:
networks: - POSTGRES_HOST_AUTH_METHOD=trust
- default
# volumes: # 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: deploy:
placement: placement:
constraints: constraints: