npm update, remove runtime.exs as not using for now

This commit is contained in:
Adam Piontek 2022-08-14 13:58:41 -04:00
parent dceef941c7
commit 61796cf985
3 changed files with 14 additions and 97 deletions

View file

@ -6,19 +6,19 @@ Written in Elixir & Phoenix LiveView, with Bootstrap v5.
## TODO ## TODO
- [ ] Ability to edit shifts? - [X] ~~*Proper modal to delete shifts?*~~ [2022-08-14]
- [ ] Proper modal to delete shifts? - [ ] Update tests, which are probably all way out of date. But I also don't care that much for this project...
- [ ] Allow all-day items for notes, or require hours even for sick days?
- [ ] Implement proper shift/template/assign tests (views etc)
## Deploying ## Deploying
The below notes are old; I'm using a docker build to deploy this now. Will document when I have time.
### New versions ### New versions
When improvements are made, we can update the deployed version like so: When improvements are made, we can update the deployed version like so:
```shell ```shell
cd /opt/shift73k cd ${SHIFT73K_BASE_DIR}
# update from master # update from master
/usr/bin/git pull 73k master /usr/bin/git pull 73k master
# fetch prod deps & compile # fetch prod deps & compile
@ -27,10 +27,10 @@ MIX_ENV=prod /usr/bin/mix compile
# perform any migrations # perform any migrations
MIX_ENV=prod /usr/bin/mix ecto.migrate MIX_ENV=prod /usr/bin/mix ecto.migrate
# update node packages via package-lock.json # update node packages via package-lock.json
/usr/bin/npm --prefix /opt/shift73k/assets/ ci /usr/bin/npm --prefix ./assets/ ci
# rebuild static assets: # rebuild static assets:
rm -rf /opt/shift73k/priv/static/* rm -rf ./priv/static/*
/usr/bin/npm --prefix /opt/shift73k/assets/ run deploy /usr/bin/npm --prefix ./assets/ run build
MIX_ENV=prod /usr/bin/mix phx.digest MIX_ENV=prod /usr/bin/mix phx.digest
# rebuild release # rebuild release
MIX_ENV=prod /usr/bin/mix release --overwrite MIX_ENV=prod /usr/bin/mix release --overwrite

View file

@ -57,9 +57,9 @@
} }
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "18.7.2", "version": "18.7.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.2.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.3.tgz",
"integrity": "sha512-ce7MIiaYWCFv6A83oEultwhBXb22fxwNOQf5DIxWA4WXvDQ7K+L0fbWl/YOfCzlR5B/uFkSnVBhPcOfOECcWvA==", "integrity": "sha512-LJgzOEwWuMTBxHzgBR/fhhBOWrvBjvO+zPteUgbbuQi80rYIZHrk1mNbRUqPZqSLP2H7Rwt1EFLL/tNLD1Xx/w==",
"dev": true "dev": true
}, },
"node_modules/@types/phoenix": { "node_modules/@types/phoenix": {
@ -1070,9 +1070,9 @@
"peer": true "peer": true
}, },
"@types/node": { "@types/node": {
"version": "18.7.2", "version": "18.7.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.2.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.3.tgz",
"integrity": "sha512-ce7MIiaYWCFv6A83oEultwhBXb22fxwNOQf5DIxWA4WXvDQ7K+L0fbWl/YOfCzlR5B/uFkSnVBhPcOfOECcWvA==", "integrity": "sha512-LJgzOEwWuMTBxHzgBR/fhhBOWrvBjvO+zPteUgbbuQi80rYIZHrk1mNbRUqPZqSLP2H7Rwt1EFLL/tNLD1Xx/w==",
"dev": true "dev": true
}, },
"@types/phoenix": { "@types/phoenix": {

View file

@ -1,83 +0,0 @@
import Config
# config/runtime.exs is executed for all environments, including
# during releases. It is executed after compilation and before the
# system starts, so it is typically used to load production configuration
# and secrets from environment variables or elsewhere. Do not define
# any compile-time configuration in here, as it won't be applied.
# The block below contains prod specific runtime configuration.
# ## Using releases
#
# If you use `mix release`, you need to explicitly enable the server
# by passing the PHX_SERVER=true when you start it:
#
# PHX_SERVER=true bin/shift73k start
#
# Alternatively, you can use `mix phx.gen.release` to generate a `bin/server`
# script that automatically sets the env var above.
if System.get_env("PHX_SERVER") do
config :shift73k, Shift73kWeb.Endpoint, server: true
end
if config_env() == :prod do
database_url =
System.get_env("DATABASE_URL") ||
raise """
environment variable DATABASE_URL is missing.
For example: ecto://USER:PASS@HOST/DATABASE
"""
maybe_ipv6 = if System.get_env("ECTO_IPV6"), do: [:inet6], else: []
config :shift73k, Shift73k.Repo,
# ssl: true,
url: database_url,
pool_size: String.to_integer(System.get_env("POOL_SIZE") || "10"),
socket_options: maybe_ipv6
# The secret key base is used to sign/encrypt cookies and other secrets.
# A default value is used in config/dev.exs and config/test.exs but you
# want to use a different value for prod and you most likely don't want
# to check this value into version control, so we use an environment
# variable instead.
secret_key_base =
System.get_env("SECRET_KEY_BASE") ||
raise """
environment variable SECRET_KEY_BASE is missing.
You can generate one by calling: mix phx.gen.secret
"""
host = System.get_env("PHX_HOST") || "example.com"
port = String.to_integer(System.get_env("PORT") || "4000")
config :shift73k, Shift73kWeb.Endpoint,
url: [host: host, port: 443, scheme: "https"],
http: [
# Enable IPv6 and bind on all interfaces.
# Set it to {0, 0, 0, 0, 0, 0, 0, 1} for local network only access.
# See the documentation on https://hexdocs.pm/plug_cowboy/Plug.Cowboy.html
# for details about using IPv6 vs IPv4 and loopback vs public addresses.
ip: {0, 0, 0, 0, 0, 0, 0, 0},
port: port
],
secret_key_base: secret_key_base
# ## Configuring the mailer
#
# In production you need to configure the mailer to use a different adapter.
# Also, you may need to configure the Swoosh API client of your choice if you
# are not using SMTP. Here is an example of the configuration:
#
# config :shift73k, Shift73k.Mailer,
# adapter: Swoosh.Adapters.Mailgun,
# api_key: System.get_env("MAILGUN_API_KEY"),
# domain: System.get_env("MAILGUN_DOMAIN")
#
# For this example you need include a HTTP client required by Swoosh API client.
# Swoosh supports Hackney and Finch out of the box:
#
# config :swoosh, :api_client, Swoosh.ApiClient.Hackney
#
# See https://hexdocs.pm/swoosh/Swoosh.html#module-installation for details.
end