frogress/DOCKER.md

3.6 KiB

Docker

There are 2 images that make up this project:

Configuration

The following environment variables in .env are required to run the services via docker-compose:

  • POSTGRES_USER self-explanatory. Can be set to user.
  • POSTGRES_PASSWORD self-explanatory. Can be set to pass.
  • POSTGRES_PORT to connect to postgres externally. Can be set to 5432.
  • BACKEND_PORT the port to access the service to. Can be set to 9000.

With the above configuration, you will be able to use the API via http://localhost:9000. You can also connect to postgres via localhost:5432.

Persisted data

The database data is persisted to ./deployment/postgres/data, this can be changed within the docker-compose.yaml file.

Daemon

To run the project in the background, add the --daemon argument to docker-compose up.

Monitoring

Check what containers are running:

$ docker-compose ps
       Name                      Command              State                                        Ports                                      
----------------------------------------------------------------------------------------------------------------------------------------------
frogress_frogress_1   /entrypoint.sh                  Up      0.0.0.0:8000->8000/tcp,:::8000->8000/tcp                                        
frogress_postgres_1   docker-entrypoint.sh postgres   Up      0.0.0.0:5432->5432/tcp,:::5432->5432/tcp  

Jump inside the main frogress container:

$ docker exec -ti frogress_frogress_1 bash
root@7a1645fece43:/frogress#

Follow logs for the main frogress container:

$ docker logs -f frogress_frogress_1
Waiting for database to become available on postgres:5432...
Waiting for database to become available on postgres:5432...
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, frog_api, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying frog_api.0001_initial... OK
  Applying frog_api.0002_remove_entry_version_category_entry_category... OK
  Applying frog_api.0003_rename_decompiled_functions_entry_decompiled_chunks_and_more... OK
  Applying frog_api.0004_alter_category_options_alter_entry_options_and_more... OK
  Applying frog_api.0005_remove_entry_decompiled_bytes_and_more... OK
  Applying frog_api.0006_alter_project_auth_key... OK
  Applying frog_api.0007_alter_entry_timestamp... OK
  Applying frog_api.0008_project_discord_project_repository_project_website... OK
  Applying frog_api.0009_alter_project_discord_alter_project_repository_and_more... OK
  Applying sessions.0001_initial... OK
Watching for file changes with StatReloader