This PR contains the work done to add and setup the *Website* service target, a **Hummingbird** server app, into the Xcode project as a SwiftPM package with full support for containerization and driven by a `Makefile` file. To provide further details about the work done: * Swift package — SwiftPM manifest with a Website executable, related library, and test targets; depends on **hummingbird** and **swift-configuration**. * Containerization — Multi-stage `Dockerfile` producing a static-linked release build with jemalloc, running as a non-root user on port 8080. Production and local-dev `docker-compose` files included. * Configuration — `.env.local` template (with `.env` git-ignored) and `.dockerignore`/`.gitignore` entries. * Makefile — Self-documenting operational commands: * pkg — SwiftPM: _build, release, test, clean, reset, deps, outdated, update_ * img — Docker lifecycle: _build, mount, unmount, release_ Notes * New service only — no changes to existing code; nothing else in the repo is affected. * App logic is currently scaffolding; this PR establishes the service structure, build, and deployment tooling. Reviewed-on: rock-n-code/loud-amsterdam#2 Co-authored-by: Javier Cicchelli <javier@rock-n-code.com> Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
58 lines
1.1 KiB
Plaintext
58 lines
1.1 KiB
Plaintext
# macOS
|
|
.DS_Store
|
|
.AppleDouble
|
|
.LSOverride
|
|
Icon
|
|
._*
|
|
|
|
# Xcode
|
|
## User settings
|
|
xcuserdata/
|
|
|
|
## Build generated
|
|
build/
|
|
DerivedData/
|
|
|
|
## Various settings
|
|
*.pbxuser
|
|
!default.pbxuser
|
|
*.mode1v3
|
|
!default.mode1v3
|
|
*.mode2v3
|
|
!default.mode2v3
|
|
*.perspectivev3
|
|
!default.perspectivev3
|
|
|
|
## Other
|
|
*.moved-aside
|
|
*.hmap
|
|
*.ipa
|
|
*.dSYM.zip
|
|
*.dSYM
|
|
|
|
## Playgrounds
|
|
timeline.xctimeline
|
|
playground.xcworkspace
|
|
|
|
# Swift Package Manager
|
|
## Build output and resolved dependency checkouts
|
|
.build/
|
|
## SwiftPM's local registry config and per-user Xcode data (schemes live in
|
|
## xcuserdata, already ignored above). Shared .swiftpm metadata is committed.
|
|
.swiftpm/configuration/registries.json
|
|
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
|
|
|
|
# NOTE: `Packages/` is intentionally NOT ignored — it holds this repo's local
|
|
# Swift packages (source), not checked-out dependencies.
|
|
# NOTE: `Package.resolved` is intentionally NOT ignored — committing it locks
|
|
# dependency versions across the team and CI.
|
|
|
|
# Docker / environment
|
|
.env
|
|
!.env.local
|
|
|
|
# Fastlane
|
|
fastlane/report.xml
|
|
fastlane/Preview.html
|
|
fastlane/screenshots/**/*.png
|
|
fastlane/test_output |