removed path, moved init to skeleton folder
This commit is contained in:
4
skeleton/.env.example
Normal file
4
skeleton/.env.example
Normal file
@ -0,0 +1,4 @@
|
||||
# Put secrets here, then copy this file to .env (which stays out of git).
|
||||
# Anything in .env is handed to the container when it starts — for example, a
|
||||
# token for a private gem source:
|
||||
# BUNDLE_GEMS__GRAPHQL__PRO=user:token
|
||||
2
skeleton/.gitignore
vendored
Normal file
2
skeleton/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
.env
|
||||
cache/
|
||||
16
skeleton/Dockerfile
Normal file
16
skeleton/Dockerfile
Normal file
@ -0,0 +1,16 @@
|
||||
# safeclaude builds this on top of its shared base. Everything here happens once
|
||||
# and is cached, so it won't slow down your day-to-day launches.
|
||||
FROM safeclaude-base:latest
|
||||
|
||||
# Add the system packages and language versions your project needs below.
|
||||
# (You're root during the build, so apt just works.)
|
||||
#
|
||||
# Example — Ruby + Postgres client + headless Chrome (see the repo's example/):
|
||||
#
|
||||
# RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
# build-essential libssl-dev libreadline-dev zlib1g-dev \
|
||||
# libffi-dev libyaml-dev libpq-dev socat chromium chromium-driver
|
||||
#
|
||||
# Tip: pin specific language versions here (install one Ruby, one Node, etc.)
|
||||
# rather than a version manager — a project only needs one. See the repo's
|
||||
# example/ for how.
|
||||
17
skeleton/hooks/10-setup.sh
Executable file
17
skeleton/hooks/10-setup.sh
Executable file
@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
# Runs every time the container starts, with your project at /code. Put your
|
||||
# project's startup setup here — installing dependencies, preparing services,
|
||||
# and so on. It's empty by default; add what you need.
|
||||
#
|
||||
# Keep it safe to run every launch: check whether something is already done
|
||||
# before doing it, so repeat launches stay quick.
|
||||
#
|
||||
# Need to keep things between runs? Write them to /code/.safeclaude/cache. That
|
||||
# folder lives on the host (not inside the container), so it survives rebuilds
|
||||
# and `docker volume` resets, and it's gitignored so it won't land in your repo.
|
||||
# It's a good home for installed dependencies, downloads, or "already did this"
|
||||
# markers.
|
||||
#
|
||||
# For example, you might install gems into the cache, run `npm install`, or wait
|
||||
# for a service to come up. See the repo's example/ for a worked version.
|
||||
set -euo pipefail
|
||||
12
skeleton/hooks/README.md
Normal file
12
skeleton/hooks/README.md
Normal file
@ -0,0 +1,12 @@
|
||||
# Hooks
|
||||
|
||||
Each `*.sh` file here runs when the container starts, with your project available
|
||||
at `/code`. They run in name order, so prefix them with numbers (`10-`, `20-`)
|
||||
to control the sequence.
|
||||
|
||||
Because they run every launch, keep them quick and make them safe to re-run —
|
||||
check whether the work is already done before doing it. If one fails, startup
|
||||
stops rather than continuing half-configured.
|
||||
|
||||
Edits take effect on the next launch (no rebuild needed). Rename a
|
||||
`*.sh.example` file to `*.sh` to turn it on.
|
||||
Reference in New Issue
Block a user