Skip to content
/ pico Public
forked from picosh/pico

pico services - prose.sh, lists.sh, pastes.sh, imgs.sh, feeds.sh

License

Notifications You must be signed in to change notification settings

jchenry/pico

Repository files navigation

pico services

This repo hosts the following pico services:

comms

development

  • golang >= 1.19
  • direnv to load environment vars
cp ./.env.example .env

Boot up database

docker compose up --profile db -d

Create db and migrate

make create
make migrate

Build services

make build

All services are built inside the ./build folder.

If you want to start prose:

./build/prose-web
# in a separate terminal
./build/prose-ssh

deployment

We use an image based deployment, so all of our images are uploaded to ghcr.io/picosh/pico

DOCKER_TAG=latest make bp-all

Once images are built, docker compose is used to stand up the services:

docker compose up -d

This makes use of a production .env.prod environment file which defines the various listening addresses and services that will be started. For production, we add a .envrc containing the following:

export COMPOSE_FILE=docker-compose.yml:docker-compose.prod.yml
export COMPOSE_PROFILES=services,caddy

And symlink .env to .env.prod:

ln -s .env.prod .env

This allows us to use docker-compose normally as we would in development.

For any migrations, logging into the our database server, pulling the changes to migrations and running make latest is all that is needed.

About

pico services - prose.sh, lists.sh, pastes.sh, imgs.sh, feeds.sh

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 85.6%
  • CSS 12.6%
  • Makefile 1.4%
  • Other 0.4%