fp/config/deploy.yml

135 lines
3.3 KiB
YAML
Raw Normal View History

2025-01-11 03:10:04 +00:00
# Name of your application. Used to uniquely configure containers.
service: futureporn
# Name of the container image.
image: futureporn/bright
# Deploy to these servers.
servers:
web:
2025-01-11 12:47:23 +00:00
- 45.76.57.101
2025-01-11 16:55:47 +00:00
2025-01-11 03:10:04 +00:00
# Enable SSL auto certification via Let's Encrypt and allow for multiple apps on a single web server.
# Remove this section when using multiple web servers and ensure you terminate SSL at your load balancer.
#
# Note: If using Cloudflare, set encryption mode in SSL/TLS setting to "Full" to enable CF-to-app encryption.
proxy:
ssl: true
2025-01-12 08:55:14 +00:00
app_port: 4000
2025-01-11 13:26:38 +00:00
host: bright.futureporn.net
2025-01-11 16:55:47 +00:00
healthcheck:
2025-01-12 05:16:38 +00:00
path: /api/health
2025-01-11 16:55:47 +00:00
interval: 2
timeout: 2
# how long to wait for new containers to boot
2025-01-12 04:38:14 +00:00
deploy_timeout: 300
2025-01-11 03:10:04 +00:00
# Credentials for your image host.
registry:
# Specify the registry server, if you're not using Docker Hub
# server: registry.digitalocean.com / ghcr.io / ...
server: gitea.futureporn.net
username: cj_clippy
# Always use an access token rather than real password (pulled from .kamal/secrets).
password:
- KAMAL_REGISTRY_PASSWORD
# Configure builder setup.
builder:
arch: amd64
dockerfile: ./dockerfiles/bright.dockerfile
# Pass in additional build args needed for your Dockerfile.
# args:
# RUBY_VERSION: <%= File.read('.ruby-version').strip %>
2025-01-12 04:38:14 +00:00
env:
clear:
PORT: 4000
2025-01-12 07:43:30 +00:00
DATABASE_HOST: futureporn-db
2025-01-12 08:32:15 +00:00
MIX_ENV: prod
2025-01-15 02:51:12 +00:00
SUPERSTREAMER_URL: http://superstreamer-api
PUBLIC_S3_ENDPOINT: https://futureporn-b2.b-cdn.net
2025-01-12 04:38:14 +00:00
secret:
2025-01-12 08:32:15 +00:00
- DATABASE_URL
2025-01-12 08:46:06 +00:00
- SECRET_KEY_BASE
2025-01-15 02:51:12 +00:00
- SUPERSTREAMER_AUTH_TOKEN
2025-01-11 03:10:04 +00:00
# Aliases are triggered with "bin/kamal <alias>". You can overwrite arguments on invocation:
# "bin/kamal logs -r job" will tail logs from the first server in the job section.
#
# aliases:
# shell: app exec --interactive --reuse "bash"
2025-01-11 03:41:49 +00:00
ssh:
2025-01-11 13:26:38 +00:00
keys: ["~/.ssh/futureporn"]
2025-01-11 03:10:04 +00:00
# Use a persistent storage volume.
#
# volumes:
# - "app_storage:/app/storage"
# Bridge fingerprinted assets, like JS and CSS, between versions to avoid
# hitting 404 on in-flight requests. Combines all files from new and old
# version inside the asset_path.
#
# asset_path: /app/public/assets
# Configure rolling deploys by setting a wait time between batches of restarts.
#
# boot:
# limit: 10 # Can also specify as a percentage of total hosts, such as "25%"
# wait: 2
# Use accessory services (secrets come from .kamal/secrets).
#
2025-01-11 12:47:23 +00:00
accessories:
2025-01-11 16:55:47 +00:00
2025-01-15 02:51:12 +00:00
superstreamer:
env:
clear:
PUBLIC_API_ENDPOINT: https://api.superstreamer.futureporn.net
PUBLIC_STITCHER_ENDPOINT: http://localhost:52002
2025-01-11 12:47:23 +00:00
db:
image: postgres:15
host: 45.76.57.101
2025-01-11 16:55:47 +00:00
port: "127.0.0.1:5432:5432"
2025-01-11 12:47:23 +00:00
env:
clear:
POSTGRES_USER: postgres
2025-01-12 06:47:17 +00:00
POSTGRES_DB: bright
2025-01-11 12:47:23 +00:00
secret:
- POSTGRES_PASSWORD
directories:
- pg_data:/var/lib/postgresql/data
2025-01-11 16:55:47 +00:00
2025-01-11 12:47:23 +00:00
redis:
image: valkey/valkey:8
host: 45.76.57.101
port: 6379
directories:
- data:/data
2025-01-11 16:55:47 +00:00
pgadmin:
image: dpage/pgadmin4
host: 45.76.57.101
2025-01-12 05:41:18 +00:00
port: "127.0.0.1:5050:5050"
2025-01-11 16:55:47 +00:00
env:
clear:
PGADMIN_LISTEN_PORT: "5050"
secret:
- PGADMIN_DEFAULT_EMAIL
- PGADMIN_DEFAULT_PASSWORD
proxy:
2025-01-12 06:37:45 +00:00
ssl: true
forward_headers: true
app_port: 5050
2025-01-11 16:55:47 +00:00
host: pgadmin.futureporn.net
healthcheck:
path: /login