kamal-skiff 0.1.1 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee9407b6b7b474c0e915653a9245fdffbd0c93291d2cf6e8bf5565571e022fee
4
- data.tar.gz: 79a21f180fb0df9a4da6b0b1663d308a2c894b663e3f76dae6079ff3ec7f9a0f
3
+ metadata.gz: 0a1287b96fd40b8d21d31b1d47eae5594b05b2991d748e653041597c467cd7fe
4
+ data.tar.gz: 49285266f0940bc9e0835372ac0f4ec90903a165631d666829317b2bc2030246
5
5
  SHA512:
6
- metadata.gz: 6b34450245099af8702174c4ea5f470895229ca3aa89a78f747192006839730d0c5566b3025d8e6350360770b276876930e5c95beaeaac0b69459601478b4157
7
- data.tar.gz: 803a3bf11e89fca1f5ed4de0ab3cde49671e9a9c7ef1a2d40479b49f46bd2621709269cb4b7889a76b24ffafb9cf1e0f9fbd22631ebff9a12b3dec9437da0d17
6
+ metadata.gz: 74f54adac46c27c8be8c85a336bae02f63cfc5cf206df30379906b58ef16c5e7f00bdf639b0be4cf469ec6f4408c043bade655cce7ccbfedac7d0c61254214ad
7
+ data.tar.gz: 59d95d2eb3e23d1ca83d71aab91ae0a9ad6138223472adfb841d50e8392cf183c961e56059d0410014f6beb9aec2a2595a5ad174b4d84b3c46c5b972f586edd0
data/README.md CHANGED
@@ -10,13 +10,16 @@ If you have a Ruby environment available, you can install Skiff globally with:
10
10
  gem install kamal-skiff
11
11
  ```
12
12
 
13
+ Then run `skiff dev` to start the development server.
14
+
13
15
  ...otherwise, you can run a dockerized version via an alias (add this to your .bashrc or similar to simplify re-use). On macOS, use:
14
16
 
15
17
  ```sh
16
- alias skiff="docker run -it --rm -v '${PWD}:/workdir' -v '/run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock' -e SSH_AUTH_SOCK='/run/host-services/ssh-auth.sock' -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/basecamp/kamal-skiff:latest"
18
+ alias skiff-dev="docker build -t skiff-site . && docker run -it --rm -p 4000:80 -v ./public:/site/public --name skiff-site skiff-site nginx '-g daemon off;'"
19
+ alias skiff="docker run -it --rm -v '${PWD}:/workdir' -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK='/run/host-services/ssh-auth.sock' -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/basecamp/kamal-skiff:latest"
17
20
  ```
18
21
 
19
- Then run `skiff dev` to start the development server.
22
+ Then run `skiff-dev` to start the development server, and use `skiff [command]` for everything else.
20
23
 
21
24
  ## Deploying the site for the first time
22
25
 
data/lib/skiff/cli.rb CHANGED
@@ -20,10 +20,10 @@ class Skiff::Cli < Thor
20
20
  desc "dev", "Start development server"
21
21
  def dev
22
22
  if File.exist?("Dockerfile")
23
- puts "Starting #{site_name} on http://localhost:8080..."
23
+ puts "Starting #{site_name} on http://localhost:4000..."
24
24
 
25
25
  docker "build -t #{site_name} ."
26
- docker "run -it --rm -p 8080:80 -v ./public:/site/public --name #{site_name} #{site_name} nginx '-g daemon off;'"
26
+ docker "run -it --rm -p 4000:80 -v ./public:/site/public --name #{site_name} #{site_name} nginx '-g daemon off;'"
27
27
  else
28
28
  say "No Dockerfile found in current directory", :red
29
29
  end
@@ -8,10 +8,10 @@ RUN apt-get update -qq && \
8
8
  # Site lives here
9
9
  WORKDIR /site
10
10
 
11
- # Copy site
12
- COPY . .
13
-
14
11
  # Configure nginx
15
12
  RUN echo 'include /site/config/server.conf;' > /etc/nginx/conf.d/default.conf
16
13
 
14
+ # Copy site
15
+ COPY --link . .
16
+
17
17
  CMD ["/site/serve"]
@@ -7,9 +7,10 @@ server {
7
7
  # Only needed if there's no CDN in front
8
8
  gzip on;
9
9
 
10
- # Turn on SSI with etags
10
+ # Turn on SSI with etags and long values
11
11
  ssi on;
12
12
  ssi_last_modified on;
13
+ ssi_value_length 1024;
13
14
 
14
15
  # All web accessible files live here
15
16
  root /site/public;
@@ -18,17 +19,12 @@ server {
18
19
  error_page 404 /_errors/404.html;
19
20
 
20
21
  # Folders starting with _ are not publicly accessible
21
- location ~ ^/_.*$ {
22
+ location ~ ^/_$ {
22
23
  internal;
23
24
  }
24
25
 
25
- # Make /up look for /site/public/up.html
26
- location ~ ^/([^\.]+)$ {
27
- try_files /$1.html =404;
28
- }
29
-
30
- # Make /pricing/ look for /site/public/pricing/index.html
26
+ # Make /up look first for /up.html then /up/index.html
31
27
  location / {
32
- index index.html;
28
+ try_files $uri $uri.html $uri/index.html =404;
33
29
  }
34
30
  }
@@ -4,6 +4,7 @@ set -e
4
4
  polling_pull() {
5
5
  while true; do
6
6
  echo "Pulling latest..."
7
+ git checkout -f || true
7
8
  git pull $GIT_URL $GIT_BRANCH || true
8
9
  sleep 10
9
10
  done
data/lib/skiff/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Skiff
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kamal-skiff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-23 00:00:00.000000000 Z
11
+ date: 2023-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kamal
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.2'
41
- - !ruby/object:Gem::Dependency
42
- name: zeitwerk
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '2.5'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '2.5'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: debug
57
43
  requirement: !ruby/object:Gem::Requirement