A rookie's journey to setup a compose services

Hello, everyone,

I am new to Gen3. My goal is to setup a compose services following the instructions on the website

I have been able to follow the instruction (or at least I thought I did) and achieve the following:

  1. Gen3 is working on localhost
  2. I can log in via my google account
  3. I have created a program (I verified it by going into PgSQL and see the program information/record in "metadata_db" -> "node_program"
  4. I have created a project (again, verified in "metadata_db" -> "node_project")

What I can not do is:

  1. when I go to a different computer and try to access the site via IP address (for example, the internal IP for the server running the docker is, I can open the page and see the page look just like the one I open at localhost, but when I click on "Login from Google", it will give me page not found with the URL as: "https://localhost/user/login/google?redirect=". Should I change all the localhost reference in the configuration files to instead?
  2. Even with program and project created, when I click on "Submit Data", I don't see any project listed.

I would like to keep this post open as a general guide for anyone who is interested and possibly help the team to update the guide as well.

Thank you.


Hi @Yirong_Wang!

Welcome to the forum :slight_smile: Thank you for sharing your experience

For your first question, yes, you need to update localhost to server IP if you want to access page from other computers. You can use creds_setup.sh script with your domain IP as mentioned here. Or you can manually edit following values and restart Compose Services:

  • file fence-config.yaml , field BASE_URL
  • file sheepdog_creds.json , field hostname
  • file peregrine_creds.json , field hostname

For your second question, please make sure you granted yourself permissions to both create and see program, like mentioned here.

I wanted to share that recently Gen3 community members created nice tutorial videos on starting up Compose Services, we put them in the Useful Links section.

Thank you. I have solved the first issue following your instruction. A note is that we can't use IP because google authentication URI requires a domain name.

I will watch the video later.

Thank you so much!


1 Like

I got the second issue resolved as well. It turns out that when I modified the user.yaml after created the program and project, I changed the policies id "MyFirstProject_submitter" to "my_own_project_submitter". And using "my_own_project" instead of "myownproject" causes the problem. Apparently, if I change the policy ID, I can't add additional "_" in it.

1 Like