Update stack.staging.yml

This commit is contained in:
colin 2024-01-29 19:25:13 +00:00
parent 13b6262542
commit e4ba33aef0
1 changed files with 101 additions and 28 deletions

View File

@ -1,40 +1,113 @@
version: '3.8' version: "3.8"
x-environment:
&default-environment
REDIS_HOST: glitch_redis
DATABASE_URL: postgres://postgres:postgres@glitch_postgres:5432/postgres
SECRET_KEY: 4f99181d528f201c16806b34b980791f9a99570d645910dacfe31198b503ea2f # best to run openssl rand -hex 32
PORT: 8000
EMAIL_URL: smtp://glitch@nixc.us:G2BeHLDezu2Eg8x5aDy8MZ3RTLJoP6xJyvwDnFDMCrFxe7AWW5mAst96zvkcDq3R@box.p.nixc.us:465 # https://glitchtip.com/documentation/install#configuration
GLITCHTIP_DOMAIN: https://staging.glitch.nixc.us # Change this to your domain
DEFAULT_FROM_EMAIL: glitch@nixc.us # Change this to your email
CELERY_WORKER_CONCURRENCY: 2 # Set to 2 to prevent excessive memory usage. Change it or remove to set it to the number of cpu cores.
## custom config
GLITCHTIP_MAX_EVENT_LIFE_DAYS: 30
GLITCHTIP_MAX_TRANSACTION_EVENT_LIFE_DAYS: 5
GLITCHTIP_MAX_FILE_LIFE_DAYS: 5
ENABLE_USER_REGISTRATION: "true"
ENABLE_ORGANIZATION_CREATION: "true"
## gitea api b994dd8dd3162aa79db17bdb893a7c9271c63369
# SOCIALACCOUNT_PROVIDERS_gitea_GITEA_URL: "https://git.nixc.us/"
x-depends_on:
&default-depends_on
- postgres
- redis
services: services:
headscale: postgres:
image: git.nixc.us/colin/headscale:staging image: postgres:15
# volumes:
# - public_system:/headscale/public/system
networks:
- traefik
environment: environment:
SERVER_URL: "https://staging.headscale.nixc.us" POSTGRES_HOST_AUTH_METHOD: "trust"
LISTEN_ADDR: "0.0.0.0:8080" volumes:
METRICS_LISTEN_ADDR: "0.0.0.0:9090" - /mnt/tank/persist/nixc.us/glitch/production/db:/var/lib/postgresql/data
GRPC_LISTEN_ADDR: "0.0.0.0:50443"
DB_TYPE: "sqlite3"
DB_PATH: "/etc/headscale/db.sqlite"
deploy: deploy:
replicas: 1
placement: placement:
constraints: constraints:
- node.hostname == macmini3 - node.hostname == macmini1
labels: labels:
us.nixc.autodeploy: "true" - "us.nixc.autodeploy=true"
traefik.enable: "true" - "traefik.enable=false"
traefik.http.routers.staging-headscale_headscale.rule: "Host(`staging.headscale.nixc.us`)" networks:
traefik.http.routers.staging-headscale_headscale.entrypoints: "websecure" - default
traefik.http.routers.staging-headscale_headscale.tls: "true" redis:
traefik.http.routers.staging-headscale_headscale.tls.certresolver: "letsencryptresolver" image: redis
traefik.http.routers.staging-headscale_headscale.service: "staging-headscale_headscale" deploy:
traefik.http.services.staging-headscale_headscale.loadbalancer.server.port: "8080"
traefik.docker.network: "traefik"
replicas: 1 replicas: 1
restart_policy: placement:
condition: on-failure constraints:
- node.hostname == macmini1
labels:
- "us.nixc.autodeploy=true"
- "traefik.enable=false"
networks:
- default
web:
image: glitchtip/glitchtip
depends_on: *default-depends_on
environment: *default-environment
volumes:
- /mnt/tank/persist/nixc.us/glitch/production/uploads:/code/uploads
deploy:
replicas: 1
placement:
constraints:
- node.hostname == macmini1
labels:
- "us.nixc.autodeploy=true"
- "traefik.enable=true"
- "traefik.http.routers.glitch_glitch.tls=true"
- "traefik.http.services.glitch_glitch.loadbalancer.server.port=8000"
- "traefik.http.routers.glitch_glitch.rule=Host(`glitch.nixc.us`)"
- "traefik.http.routers.glitch_glitch.entrypoints=websecure"
- "traefik.http.routers.glitch_glitch.tls.certresolver=letsencryptresolver"
- "traefik.http.routers.glitch_glitch.service=glitch_glitch"
- "traefik.docker.network=traefik"
# - 'traefik.http.routers.glitch_glitch.middlewares=authelia@docker'
networks:
- default
- traefik
worker:
image: glitchtip/glitchtip
command: ./bin/run-celery-with-beat.sh
depends_on: *default-depends_on
environment: *default-environment
volumes:
- /mnt/tank/persist/nixc.us/glitch/production/uploads:/code/uploads
deploy:
replicas: 1
placement:
constraints:
- node.hostname == ingress.nixc.us
labels:
- "traefik.enable=false"
networks:
- default
migrate:
image: glitchtip/glitchtip
depends_on: *default-depends_on
command: "./manage.py migrate"
environment: *default-environment
deploy:
replicas: 1
placement:
constraints:
- node.hostname == macmini1
labels:
- "traefik.enable=false"
networks:
- default
networks: networks:
traefik: traefik:
external: true external: true
default: default:
driver: overlay external: false