2

GitHub - picosh/pico: hacker labs

 2 months ago
source link: https://github.com/picosh/pico
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

picosh/pico: hacker labs

Folders and files

Name
Last commit message
Last commit date
Mar 19, 2024
Nov 11, 2023
Mar 17, 2024
Jan 25, 2024
Aug 2, 2022
Mar 28, 2024
Apr 19, 2024
Aug 2, 2022
Apr 6, 2024
Apr 9, 2024
Apr 7, 2024
Apr 19, 2024
Apr 9, 2024
Apr 20, 2024
Apr 9, 2024
Aug 31, 2022
Apr 20, 2024
Mar 25, 2024
Apr 9, 2024
Mar 31, 2024
Apr 9, 2024
Aug 2, 2022
Sep 5, 2023
Apr 19, 2024
Sep 12, 2023
Feb 29, 2024
Jan 16, 2024
Apr 20, 2024
Apr 7, 2024
Mar 14, 2024
Feb 4, 2024
Mar 13, 2024
Apr 19, 2024
Apr 17, 2024
Apr 17, 2024
Apr 10, 2024
Aug 8, 2022

Repository files navigation

pico services

Read our docs at pico.sh.

development

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

Initialize local env variables using direnv

echo dotenv > .envrc && direnv allow

Boot up database

docker compose up -f docker-compose.yml -f docker-compose.override.yml --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 execute these binaries from the project root directory:

./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 Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK