Skip to content
This repository has been archived by the owner on Nov 20, 2024. It is now read-only.

Docker Compose and Caddyfile #7

Merged
merged 2 commits into from
Jan 22, 2021
Merged

Docker Compose and Caddyfile #7

merged 2 commits into from
Jan 22, 2021

Conversation

rushsteve1
Copy link
Contributor

@rushsteve1 rushsteve1 commented Jan 17, 2021

  • Wrote an initial docker-compose.yml file for future deployments, and updated the README and roles files to go with it.
  • Removed the postgrest.conf file since PostgREST is now configured through environment variables in the compose file.
  • Renamed the postgrest folder to examples since it now just contains the client example.

Looking for feedback on this PR since it's the initial infrastructure setup and is more nebulous.


Things left to do:

  • Create the Wiki database and setup Postgres role
  • Configuration for the Wiki
  • Figure out more useful Caddy logging (that doesn't get too full over time)
  • Setup running some version of Observatory in the compose file and Caddy rules
  • Test and deploy everything!

Wrote an intial docker-compose.yml file for future deployments, and
updated the README and roles files to go with it.

Removed the postgrest.conf file since PostgREST is now configured
through environment variables in the compose file.

Renamed the postgrest folder to "examples" since it now just contains
the client example.
@rushsteve1 rushsteve1 added api Deals with API database Deals with database definition or maintenance labels Jan 17, 2021
@rushsteve1 rushsteve1 requested a review from Apexal January 17, 2021 22:27
@rushsteve1 rushsteve1 self-assigned this Jan 17, 2021
@Apexal
Copy link
Member

Apexal commented Jan 17, 2021

I'm unfortunately not super familiar with Docker and its ecosystem. It looks like Caddy will let us run multiple apps on the same host on different ports, and map .rcos.io to them?

@Apexal
Copy link
Member

Apexal commented Jan 17, 2021

One important question: How soon can this be deployed? How many things have to be done? Do we need access to rcos.io, the right DigitalOcean, etc. before any of this can go up? What if that doesn't happen by the start of the semester?

@rushsteve1
Copy link
Contributor Author

I'm unfortunately not super familiar with Docker and its ecosystem. It looks like Caddy will let us run multiple apps on the same host on different ports, and map .rcos.io to them?

Yeah, Caddy is a reverse proxy like NGINX or similar. It just takes different ports and maps them to domains or paths.

I picked it because I quite like it. It's easy to configure, performant, and does automatic HTTPS out of the box.

One important question: How soon can this be deployed? How many things have to be done? Do we need access to rcos.io, the right DigitalOcean, etc. before any of this can go up?

This can be deployed hopefully this week. The blockers are listed below, but generally speaking things can probably be figured out pretty quickly.

Things we still need

Things to figure out

  • How is the server gonna be configured? What OS? How much CPU/RAM/disk?
  • Related to above, are we going to use a managed or custom Postgres? Managed is more expensive but more robust.
  • In general what is our infrastructure budget? Can we secure additional funding if needed?

What if that doesn't happen by the start of the semester?

I don't know...
We should hopefully have a couple of extra weeks at the beginning of the semester as things get rolling, if we need it.

@Apexal
Copy link
Member

Apexal commented Jan 18, 2021

An important use of the database/api will be setting up the Discord server channels for project pairing and then small groups. I'll have to make sure we have some database and server to store the info at that point.

@rushsteve1
Copy link
Contributor Author

All else fails we can use a temporary server and migrate the DB later. Bit of a pain but doable if we have to.

@rushsteve1 rushsteve1 merged commit 90f4e69 into rcos:main Jan 22, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
api Deals with API database Deals with database definition or maintenance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants