Skip to content

Create initial project structure: Dockerfiles, docker-compose stack, and env config#1

Merged
markmnl merged 3 commits intomainfrom
copilot/create-project-structure
Mar 8, 2026
Merged

Create initial project structure: Dockerfiles, docker-compose stack, and env config#1
markmnl merged 3 commits intomainfrom
copilot/create-project-structure

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 8, 2026

Bootstraps the repo with the directory layout and files needed to run a full fmsg stack via Docker Compose.

New files

  • docker/fmsgd/Dockerfile — two-stage build: clones markmnl/fmsgd, compiles with golang:1.25, copies binary into a debian:bookworm-slim runtime image; runs as non-root fmsg user on port 4930
  • docker/fmsgid/Dockerfile — two-stage build: clones markmnl/fmsgid, compiles with golang:1.18, copies binary into a debian:bookworm-slim runtime image; runs as non-root fmsg user on port 8080
  • docker/fmsg-webapi/Dockerfile — two-stage build: clones markmnl/fmsg-webapi, compiles with golang:1.25, copies binary into a debian:bookworm-slim runtime image; runs as non-root fmsg user on port 8081
  • compose/docker-compose.yml — four services with correct startup ordering:
    • postgres:18-alpine with health check
    • fmsgid — built from local Dockerfile, waits for postgres healthy
    • fmsgd — built from local Dockerfile, waits for postgres healthy + fmsgid started
    • fmsg-webapi — built from local Dockerfile, depends on fmsgd + fmsgid
  • compose/.env — all required env vars with defaults (FMSG_DOMAIN, FMSG_PORT, FMSGID_PORT, GIN_MODE, PG*)

Modified files

  • .gitignore — added !compose/.env negation so the compose env file is tracked while root-level .env files remain ignored
  • README.md — added structure diagram and quick-start steps
Original prompt

create structure:

fmsg-docker/
├── docker/
│ └── fmsgd/
│ └── Dockerfile

├── compose/
│ ├── docker-compose.yml
│ └── .env

└── README.md


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

…nd .env

Co-authored-by: markmnl <2630321+markmnl@users.noreply.github.com>
Copilot AI changed the title [WIP] Add initial project structure for fmsg-docker Create initial project structure: Dockerfile, docker-compose stack, and env config Mar 8, 2026
@markmnl markmnl marked this pull request as ready for review March 8, 2026 02:29
Copy link
Copy Markdown
Owner

@markmnl markmnl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add docker/ fmsgid and docker/fmsg-webapi dirs with respective Dockerfile
Use postgresql 18

Co-authored-by: markmnl <2630321+markmnl@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 8, 2026

Add docker/ fmsgid and docker/fmsg-webapi dirs with respective Dockerfile
Use postgresql 18

Done in ea44f0f:

  • Added docker/fmsgid/Dockerfile (Go 1.18, clones markmnl/fmsgid, non-root runtime, exposes 8080)
  • Added docker/fmsg-webapi/Dockerfile (Go 1.25, clones markmnl/fmsg-webapi, non-root runtime, exposes 8081)
  • Bumped postgres to 18-alpine in docker-compose.yml; both fmsgid and fmsg-webapi services now build from their local Dockerfiles instead of pulling GHCR images.

Copilot AI changed the title Create initial project structure: Dockerfile, docker-compose stack, and env config Create initial project structure: Dockerfiles, docker-compose stack, and env config Mar 8, 2026
@markmnl markmnl merged commit 77fbbfd into main Mar 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants