Hi Pokoli,
Thank you for your suggestion. I got a little help from a friend and was able to make a few changes to the set up and made it happen. I however am stumped because of the inability to access the DB.
Here is some screen shots:
Running instances
:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fe76dc97b5cb tryton/tryton “/entrypoint.sh guni…” 3 days ago Up 3 days 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp tryton
63d86a4b665b postgres “docker-entrypoint.s…” 3 days ago Up 3 days 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp tryton-postgres
using localhost:8000 doesn’t get me far because there is no DB selection in the dropdown menu. I have 2 DBs running as you may be able see here:
What am I missing or haven’t done?
below is a run down of how i got all this to work so far:
Links used:
https://hub.docker.com/r/tryton/tryton
1- Clean Ubuntu Install
2- Update install using : sudo apt-get update
3- install docker using: sudo apt install docker.io then answer Y when prompted
4- Create the docker
group.
sudo groupadd docker
- Add your user to the
docker
group.
sudo usermod -aG docker $USER
* Log out and log back in so that your group membership is re-evaluated.
> If you're running Linux in a virtual machine, it may be necessary to restart the virtual machine for changes to take effect.
You can also run the following command to activate the changes to groups:
newgrp docker
* Verify that you can run `docker` commands without `sudo`.
docker run hello-world
This command downloads a test image and runs it in a container. When the container runs, it prints a message and exits.
5- Download Tryton: docker pull tryton/tryton
6- Start a PostgreSQL instance:
docker run --name tryton-postgres -e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_DB=tryton -d postgres
7- Setup the Database:
docker run --link tryton-postgres:postgres -e DB_PASSWORD=mysecretpassword -it tryton/tryton trytond-admin -d tryton --all
8- Enter admin email for tryton: email of choice
9- Enter
a password for the tryton admin: ```
10- Start a Tryton Instance:
docker run --name tryton -p 8000:8000 --link tryton-postgres:postgres -e DB_PASSWORD=mysecretpassword -d tryton/tryton
11- Access Tryton using the URL:
http://localhost:8000
12- To Check on Running Containers, run:
docker ps
The following is PGadmin4 installation steps:
1- Install curl:
sudo snap install curl # version 8.1.2
2- Setup the repository
A- Install the public key for the repository (if not done previously):
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
B -Create the repository configuration file:
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin- org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
3- Install pgAdmin
# Install for both desktop and web modes:
sudo apt install pgadmin4
# Install for desktop mode only:
sudo apt install pgadmin4-desktop
# Install for web mode only:
sudo apt install pgadmin4-web
# Configure the webserver, if you installed pgadmin4-web:
sudo /usr/pgadmin4/bin/setup-web.sh
Enter the email address and password to use for the initial pgAdmin user account:
pgAdmin 4 - Application Initialisation
======================================
Creating storage and log directories...
We can now configure the Apache Web server for you. This involves enabling the wsgi module and configuring the pgAdmin 4 application to mount at /pgadmin4. Do you wish to continue (y/n)? y
The Apache web server is running and must be restarted for the pgAdmin 4 installation to complete. Continue (y/n)? y
Apache successfully restarted. You can now start using pgAdmin 4 in web mode at **http://127.0.0.1/pgadmin4**
-------------------------------------------------------------------------------
The command below is how we managed to connect Tryton to an external database.
To start the docker container and mount the data, logs, and configuration:
**docker run --name tryton-postgres -e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_DB=tryton -d -v /home/ama/postgres-conf:/etc/postgresql -v /home/ama/postgres-data/data:/var/lib/postgresql/data -v postgres-logs:/var/log/postgresql -p 5432:5432 postgres*
ALTER ROLE
Important: we did couple of things to get the docker volume mount to work:
1- we changed the postgres user and group IDs to 999, to align the postgres user and group on the host to the one in the container.
2- We created /home/ama/postgres-data/data on localhost, chnaged its ownership to postgres:postgres, and mounted /home/ama/postgres-data/data.
3- We changed the ownership of /home/ama/postgres-data, /home/ama/postgres-conf, and /home/ama/postgres-logs to postgres:postgres.
I hope you can guide me to the next step. Thank you!