diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4855edd --- /dev/null +++ b/.gitignore @@ -0,0 +1,156 @@ +### Linux +*~ +.fuse_hidden* +.directory +.Trash-* +.nfs* +nohup.out + +### macOS +.DS_Store +.AppleDouble +.LSOverride +._* +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Windows +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +### JetBrains +# Covers JetBrains IDEs: IntelliJ, GoLand, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# SonarLint plugin +.idea/sonarlint/ +# see https://community.sonarsource.com/t/is-the-file-idea-idea-idea-sonarlint-xml-intended-to-be-under-source-control/121119 +.idea/sonarlint.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based HTTP Client +.idea/httpRequests +http-client.private.env.json + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +# Apifox Helper cache +.idea/.cache/.Apifox_Helper +.idea/ApifoxUploaderProjectSetting.xml + +# Github Copilot persisted session migrations, see: https://github.com/microsoft/copilot-intellij-feedback/issues/712#issuecomment-3322062215 +.idea/**/copilot.data.migration.*.xml + +### Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets +!*.code-workspace + +# Built Visual Studio Code Extensions +*.vsix + +### Claude Code +# Local per-developer overrides (do not commit; shared settings.json stays tracked) +.claude/settings.local.json \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..d7a0df4 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,45 @@ +# Contributing + +Thanks for considering contributing to docker-infra. + +## Getting started + +1. Fork the repository on Gitea. +2. Clone your fork locally. +3. Create a branch for your changes. + +## Branch naming + +Use the format `/`: + +| Type | Usage | +| -------- | --------------------------------- | +| feature | New functionality | +| fix | Bug fix | +| docs | Documentation changes | +| chore | Tooling, dependencies, maintenance | + +Examples: `feature/add-postgres-compose`, `docs/update-readme`. + +## Commit messages + +Follow the [Conventional Commits](https://www.conventionalcommits.org/) format: + +``` +(): +``` + +Keep the subject line under 50 characters. Use the imperative mood +("add feature", not "added feature"). + +## Pull requests + +- Keep changes focused — one concern per pull request. +- Update or add documentation if your change affects usage. +- Ensure your branch is up to date with `main` before opening a PR. + +## Code style + +- Use British English spelling in all documentation and comments. +- Follow the existing style of the files you are editing. +- End YAML files with a trailing newline. diff --git a/LICENCE b/LICENCE new file mode 100644 index 0000000..73c61fd --- /dev/null +++ b/LICENCE @@ -0,0 +1,21 @@ +MIT Licence + +Copyright (c) 2026 OnixByte + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..3f5a0fd --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +# docker-infra + +A collection of Docker infrastructure files for quick deployment of +development services. + +## Contents + +- **`compose/`** — Docker Compose files for various services + - [`sql-server-2025`](compose/sql-server-2025/) — Microsoft SQL Server 2025 +- **`get-docker.sh`** — Docker Engine installation script for Linux, synchronised + weekly from upstream + +## Usage + +Each service lives under its own directory within `compose/`. Copy the +`.env.example` to `.env`, adjust the values, then run: + +```sh +cd compose/ +docker compose up -d +``` + +## Licence + +This project is licensed under the MIT Licence — see [LICENCE](LICENCE) for +details. + +Third-party software included in this repository (such as `get-docker.sh`) +remains under its original licence terms.