Advertisement
Guest User

Untitled

a guest
Feb 4th, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. Rough outline of setting up a Ubuntu server for deploying an Elixir app with Distillery.
  2.  
  3. ssh into server
  4.  
  5. ```
  6. ssh root@ip.address
  7. ```
  8.  
  9. update packages
  10.  
  11. ```
  12. apt-get update
  13. apt-get upgrade
  14. ```
  15.  
  16. install postgres
  17.  
  18. ```
  19. apt-get install postgresql postgresql-contrib
  20. ```
  21.  
  22. switch to postgres role
  23.  
  24. ```
  25. sudo -i -u postgres
  26. ```
  27.  
  28. login to postgres
  29.  
  30. ```
  31. psql
  32. ```
  33.  
  34. add password to postgres user
  35.  
  36. ```
  37. alter user postgres with password '<password>';
  38. ```
  39.  
  40. create database
  41.  
  42. ```
  43. create database <db_name>;
  44. ```
  45.  
  46. create env file `/etc/default/<name>.env`
  47.  
  48. ```
  49. REPLACE_OS_VARS=true
  50. MIX_ENV=prod
  51. PORT=4000
  52. SECRET_KEY_BASE=<key>
  53. DB_USER=postgres
  54. DB_PASSWORD=<db_password>
  55. DB_NAME=<db_name>
  56. ```
  57.  
  58. create daemon service `/etc/systemd/system/<name>.service`
  59.  
  60. ```
  61. [Unit]
  62. After=network.target
  63.  
  64. [Service]
  65. WorkingDirectory=/opt/<name>
  66. EnvironmentFile=/etc/default/<name>.env
  67. ExecStart=/opt/<name>/_build/prod/rel/<name>/bin/<name> start
  68. ExecStop=/opt/<name>/_build/prod/rel/<name>/bin/<name> stop
  69. User=root
  70. RemainAfterExit=yes
  71. Restart=always
  72.  
  73. [Install]
  74. WantedBy=multi-user.target
  75. ```
  76.  
  77. reload services
  78.  
  79. ```
  80. systemctl daemon-reload
  81. ```
  82.  
  83. start service
  84.  
  85. ```
  86. systemctl start <name>.service
  87. ```
  88.  
  89. enable service permanently
  90.  
  91. ```
  92. systemctl enable <name>.service
  93. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement