Skip to content

Docker Production & Development - #36

Draft
Sampiiiii wants to merge 7 commits into
mainfrom
dev/dockerising
Draft

Docker Production & Development#36
Sampiiiii wants to merge 7 commits into
mainfrom
dev/dockerising

Conversation

@Sampiiiii

Copy link
Copy Markdown
Contributor

This PR introduces the new way of having Ignis deployed on our VM, this will come with a DevContainer Setup, development infrastructure composes with automatic cert management (might come later), and production docker swarm configs with certificate setup.

These configs will need some secrets added to certain folders but the ReadMes will explain this in more detail.

There will also be CICD changes to build each app container on code-changes, push to our github container registry, and eventually add testing and linting stages.

This should hopefully resolve issues with our CDN hosting, and remove the occasional issue where the server does not come up after it randomly reboots.

Tasks:

  • Devcontainer Testing
  • Development docker-compose (for when not using devcontainer)
  • Development lifecycle scripts (for when not using devcontainer)
  • Production swarm config
  • Production secrets management
  • Production env and lifecycle scripts
  • Refactor on env config and config locations in the monorepo
  • ReadMEs
  • A mechanism for backups from db and loading backups into db
  • New CICD Workflows
  • CICD Testing
  • Transition & Testing on moving from caddy -> traefik (need to test traefik can handle our special firewall restrictions for TLS issuing)

This will be done in the order of Config Changes -> Production setup -> CICD -> Documentation -> Development Testing & Setup (incl. Devcontainer) -> Documentation

This will also be updated in linear

Hopefully this will be done before christmas (dissertation dependant)

changes:
- feat: added devcontainer base config json
- feat: added devcontainer docker-compose for backend services
- feat: added Dockerfile for devcontainer
- feat: added env-setup scripts
- chore: cleaned up old stuff
- build: Add .devcontainer/entrypoint.sh for certificate handling
- build: Enhance Dockerfile to include Rust, EdgeDB, and pnpm setup for 'iforge' user
- ci: Update .devcontainer/env-setup.sh with SSL certificate generation and EdgeDB environment parsing

TODO:
- prod configs
- testing of devcontainer for actual development
- sort out missing KV_PASSWORD env
@Sampiiiii Sampiiiii added the enhancement New feature or request label Nov 24, 2024
@Sampiiiii Sampiiiii self-assigned this Nov 24, 2024
Comment thread apps/forge/src/routes/_authenticated/_reponly/users/$id.tsx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants