Docker: Backing up Confluence with Postgres

MG September 5, 2019

Hello,

I am having a hard time backing up Confluence & Postgres.

 

I am using docker-compose to startup a PostgresDB and afterwards Confluence.

This is from the docker-compose-file:

db_confluence:    
image: postgres:9.6.15-alpine    
container_namedb_confluence   
volumes: 
- confluence_db_volume:/var/lib/postgresql/data    
environment:      
POSTGRES_PASSWORD:${PW_CONFLUENCE}
restartunless-stopped

confluence:
image: atlassian/confluence-server:latest
container_name: confluence
volumes:
#- confluence_config:/opt/atlassian/confluence/conf
- confluence_home_data:/var/atlassian/application-data/confluence
depends_on:
- db_confluence
ports:
- 8090:8090
restart: unless-stopped


volumes:
confluence_db_volume:
external: false
confluence_home_data:
external: false  
#confluence_config:
  #external: false

 

The original idea:

  • Start up the containers with docker-compose up -d
  • Initialize Confluence (enter License, connect to Postgres, create a user, create a dummy page)
  • Stop the containers (Confluence & Postgres)
  • Backup the Docker-Volumes (with the help of https://github.com/loomchild/volume-backup)
  • Remove the stopped Containers
  • Remove the dangling Volumes
  • Restore the Docker-Volumes (with the help of https://github.com/loomchild/volume-backup)
  • Recreate the containers with docker-compose up -d

-> NOT working at all :-( 

Then I thought maybe I need to backup "/opt/atlassian/confluence/conf" from the Confluence-container in a Docker-Volume as well -> Not working, again. Server doesn't even startup anymore (restarting (1)).

 

The last thing i tried desperatly:

After removing the volumes from the docker-compose-file and setting up Confluence I stopped the containers to back them up completely

 docker commit -p confluence confluence_backup

After spinning them up again, Confluence wasn't initialized and I had to start again.

 

Anyone experienced the same and can help me to properly backup & restore a running Confluence instance with Postgres?

 

 

1 answer

0 votes
Dave Chevell
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 5, 2019

You should only need to back up & restore the contents of $CONFLUENCE_HOME, i.e. /var/atlassian/application-data/confluence

All other configuration (i.e. server.xml / Tomcat) should be coming from the environment (documented on https://hub.docker.com/r/atlassian/confluence-server )

What exactly happens when you do this - what errors do you get, what appears in the log?

MG September 6, 2019

I did solve this problem by now.

 

Turns out that while restoring the volume with "https://github.com/loomchild/volume-backup" another _data-Folder into the recreated Volume (with the original contents in it) was added.

So I had to move the data in the recreated volume one directory up - et voila, the backup-restore process worked fine :-)

 

Thanks for your help though!

Like Slifer likes this

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events