do it
This commit is contained in:
18
.kamal/secrets
Normal file
18
.kamal/secrets
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Secrets defined here are available for reference under registry/password, env/secret, builder/secrets,
|
||||||
|
# and accessories/*/env/secret in config/deploy.yml. All secrets should be pulled from either
|
||||||
|
# password manager, ENV, or a file. DO NOT ENTER RAW CREDENTIALS HERE! This file needs to be safe for git.
|
||||||
|
|
||||||
|
# Option 1: Read secrets from the environment
|
||||||
|
KAMAL_REGISTRY_PASSWORD=$KAMAL_REGISTRY_PASSWORD
|
||||||
|
|
||||||
|
# Option 2: Read secrets via a command
|
||||||
|
RAILS_MASTER_KEY=$RAILS_MASTER_KEY
|
||||||
|
# RAILS_MASTER_KEY=$(cat config/credentials/production.key)
|
||||||
|
|
||||||
|
# Option 3: Read secrets via kamal secrets helpers
|
||||||
|
# These will handle logging in and fetching the secrets in as few calls as possible
|
||||||
|
# There are adapters for 1Password, LastPass + Bitwarden
|
||||||
|
#
|
||||||
|
# SECRETS=$(kamal secrets fetch --adapter 1password --account my-account --from MyVault/MyItem KAMAL_REGISTRY_PASSWORD RAILS_MASTER_KEY)
|
||||||
|
# KAMAL_REGISTRY_PASSWORD=$(kamal secrets extract KAMAL_REGISTRY_PASSWORD $SECRETS)
|
||||||
|
# RAILS_MASTER_KEY=$(kamal secrets extract RAILS_MASTER_KEY $SECRETS)
|
||||||
98
config/deploy.yml
Normal file
98
config/deploy.yml
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
# Name of your application. Used to uniquely configure containers.
|
||||||
|
service: wedding-app
|
||||||
|
|
||||||
|
# Name of the container image.
|
||||||
|
image: adam/my-app-1
|
||||||
|
|
||||||
|
# Deploy to these servers.
|
||||||
|
servers:
|
||||||
|
web:
|
||||||
|
- ramvplus
|
||||||
|
# job:
|
||||||
|
# hosts:
|
||||||
|
# - 192.168.0.1
|
||||||
|
# cmd: bin/jobs
|
||||||
|
|
||||||
|
# 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: false
|
||||||
|
host: ramvplus.tail76567.ts.net
|
||||||
|
# Proxy connects to your container on port 80 by default.
|
||||||
|
app_port: 3000
|
||||||
|
|
||||||
|
# Credentials for your image host.
|
||||||
|
registry:
|
||||||
|
# Specify the registry server, if you're not using Docker Hub
|
||||||
|
server: git.fixergrid.net
|
||||||
|
username: adam@fixergrid.net
|
||||||
|
|
||||||
|
# Always use an access token rather than real password (pulled from .kamal/secrets).
|
||||||
|
password:
|
||||||
|
- KAMAL_REGISTRY_PASSWORD
|
||||||
|
|
||||||
|
# Configure builder setup.
|
||||||
|
builder:
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
# Inject ENV variables into containers (secrets come from .kamal/secrets).
|
||||||
|
#
|
||||||
|
# env:
|
||||||
|
# clear:
|
||||||
|
# DB_HOST: 192.168.0.2
|
||||||
|
# secret:
|
||||||
|
# - RAILS_MASTER_KEY
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
# Use a different ssh user than root
|
||||||
|
#
|
||||||
|
ssh:
|
||||||
|
user: adammo
|
||||||
|
|
||||||
|
# Use a persistent storage volume.
|
||||||
|
#
|
||||||
|
volumes:
|
||||||
|
- "wedding-app-db:/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).
|
||||||
|
#
|
||||||
|
# accessories:
|
||||||
|
# db:
|
||||||
|
# image: mysql:8.0
|
||||||
|
# host: 192.168.0.2
|
||||||
|
# port: 3306
|
||||||
|
# env:
|
||||||
|
# clear:
|
||||||
|
# MYSQL_ROOT_HOST: '%'
|
||||||
|
# secret:
|
||||||
|
# - MYSQL_ROOT_PASSWORD
|
||||||
|
# files:
|
||||||
|
# - config/mysql/production.cnf:/etc/mysql/my.cnf
|
||||||
|
# - db/production.sql:/docker-entrypoint-initdb.d/setup.sql
|
||||||
|
# directories:
|
||||||
|
# - data:/var/lib/mysql
|
||||||
|
# redis:
|
||||||
|
# image: valkey/valkey:8
|
||||||
|
# host: 192.168.0.2
|
||||||
|
# port: 6379
|
||||||
|
# directories:
|
||||||
|
# - data:/data
|
||||||
Reference in New Issue
Block a user